eldev.bat -p -dtT -C test --expect 100
[00:00.016] Started up on Thu Jul 1 06:05:20 2021
[00:00.021] Running on GNU Emacs 27.2 (build 1, x86_64-w64-mingw32)
of 2021-03-26
[00:00.031] Project directory: `c:/users/pidsleywin/ghq/github.com/bbatsov/projectile/'
[00:00.040] No file `c:/users/pidsleywin/.eldev/config', not applying user-specific configuration
[00:00.054] Loading file `Eldev'...
[00:00.059] Using package archive `melpa-stable' at `https://stable.melpa.org/packages/' with priority 200
[00:00.069] Using package archive `melpa-unstable' at `https://melpa.org/packages/' with priority 100
[00:00.084] No file `Eldev-local', not customizing build
[00:00.099] Executing command `test'...
[00:00.204] Contents of package archive `melpa-stable' has been fetched already
[00:00.393] Not fetching contents of other archive(s) as redundant
[00:00.401] Preparing to load the project in mode `packaged'
[00:00.407] Full command line (in directory `c:/users/pidsleywin/ghq/github.com/bbatsov/projectile/'):
c:/Users/pidsleywin/.eldev/bin/eldev.bat package --output-dir c:/users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/generated --print-filename
[00:01.559] Output of the child Eldev process:
[00:01.564] PACK -> .eldev/27.2/local/generated/projectile-2.4.0.el
c:/users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/generated/projectile-2.4.0.el
generated
[00:01.586] All project dependencies (including those for set `test') have been installed already or are local
[00:01.596] (Re)installing project package `projectile'...
[00:02.434] Activating project package `projectile'...
[00:02.439] Activating dependency package `pkg-info'...
[00:02.443] Activating dependency package `epl'...
[00:03.663] Found test `.el' file: `test/projectile-test.el' (1)
[00:03.670] Loading test file `test/projectile-test.el'...
[00:03.701] Installing testing framework package(s) as required...
[00:03.711] Need the following extra dependencies for set `runtime': buttercup 1.24
[00:03.717] Contents of package archive `melpa-stable' has been fetched already
[00:03.816] Not fetching contents of other archive(s) as redundant
[00:03.824] All project dependencies (including those for set `runtime') have been installed already or are local
[00:03.837] Activating dependency package `buttercup'...
[00:04.187] Running tests on Emacs 27.2
[00:04.193] Loading c:/users/pidsleywin/ghq/github.com/bbatsov/projectile/projectile.el (source)...
Running 158 specs.
projectile-project-name
return projectile-project-name when present (3.91ms)
uses projectile-project-name-function to get the project name from the project dir (5.64ms)
acts on the current project is not passed a project dir explicitly (4.25ms)
projectile-prepend-project-name
prepends the project name to its parameter (4.28ms)
projectile-expand-root
expands a relative path into an absolute path within a project Expected `(projectile-expand-root "foo")' to be `equal' to `"/path/to/project/foo"', but instead it was `"c:/path/to/project/foo"' which does not match because: (arrays-of-different-length 22 20 "c:/path/to/project/foo" "/path/to/project/foo" first-mismatch-at 0). (15.18ms)
projectile--combine-plists
Items in second plist override elements in first (4.46ms)
Nil elements in second plist do not override elements in first (4.45ms)
projectile-register-project-type
prepends new projects to projectile-project-types (4.40ms)
projectile-update-project-type
Updates existing project in projectile-project-types (5.00ms)
Error when attempt to update nonexistant project type (3.80ms)
projectile-project-type
detects the type of Projectile's project (31.39ms)
caches the project type (6.25ms)
projectile-ignored-directory-p
checks if directory should be ignored (4.12ms)
projectile-ignored-file-p
checks if file should be ignored (3.83ms)
projectile-ignored-files
returns list of ignored files Expected `(projectile-ignored-files)' to be `equal' to `("/path/to/project/TAGS" "/path/to/project/foo.js" "/path/to/project/bar.rb")', but instead it was `("c:/path/to/project/TAGS" "c:/path/to/project/foo.js" "c:/path/to/project/bar.rb")' which does not match because: (list-elt 0 (arrays-of-different-length 23 21 "c:/path/to/project/TAGS" "/path/to/project/TAGS" first-mismatch-at 0)). (21.39ms)
projectile-ignored-directories
returns list of ignored directories Expected `(projectile-ignored-directories)' to be `equal' to `("/path/to/project/compiled/" "/path/to/project/ignoreme/" "/path/to/project/tmp/" "/path/to/project/log/")', but instead it was `("c:/path/to/project/compiled/" "c:/path/to/project/ignoreme/" "c:/path/to/project/tmp/" "c:/path/to/project/log/")' which does not match because: (list-elt 0 (arrays-of-different-length 28 26 "c:/path/to/project/compiled/" "/path/to/project/compiled/" first-mismatch-at 0)). (18.36ms)
projectile-project-ignored-files
returns list of project ignored files (8.60ms)
projectile-project-ignored-directories
returns list of project ignored directories (4.32ms)
projectile-project-ignored
returns list of ignored files/directories Expected `(projectile-project-ignored)' to be `equal' to `("c:/path/to/project/log" "c:/path/to/project/tmp" "c:/path/to/project/compiled")', but instead it was `("/path/to/project/log" "/path/to/project/tmp" "/path/to/project/compiled")' which does not match because: (list-elt 0 (arrays-of-different-length 20 22 "/path/to/project/log" "c:/path/to/project/log" first-mismatch-at 0)). (16.37ms)
projectile-remove-ignored
removes ignored folders and files (7.30ms)
projectile-add-unignored
requires explicitly unignoring files inside ignored paths (209.27ms)
returns the list of globally unignored files on an unsupported VCS (113.41ms)
requires explicitly unignoring ignored files inside unignored paths (290.34ms)
projectile-parse-dirconfig-file
parses dirconfig and returns directories to ignore and keep (7.54ms)
projectile-get-project-directories
gets the list of project directories (3.83ms)
gets the list of project directories with dirs to keep (3.73ms)
projectile-dir-files
fails unless directory exists (4.45ms)
lists the files in directory and sub-directories FAILED (4.44ms)
projectile-get-sub-projects-command
gets sub projects command for git (3.84ms)
returns empty when vcs is not supported (6.32ms)
projectile-files-via-ext-command
returns nil when command is nil or empty or fails (361.91ms)
supports magic file handlers (139.70ms)
projectile-mode
sets up hook functions (35.63ms)
respects projectile-auto-discover setting (4.41ms)
projectile-relevant-known-projects
returns a list of known projects (3.98ms)
projectile--cleanup-known-projects
removes known projects that don't exist anymore (38.38ms)
projectile-project-root
returns the absolute root directory of a project (46.17ms)
projectile-tags-exclude-patterns
returns a string with exclude patterns for ctags (6.28ms)
projectile-maybe-invalidate-cache
should not invalidate cache if dirconfig is older than cache (7.80ms)
should invalidate cache if force is t (6.89ms)
should invalidate cache if dirconfig is newer than cache (7.41ms)
projectile-root-top-down
identifies the root directory of a project by top-down search (41.08ms)
projectile-root-top-down-recurring
identifies the root directory of a project by recurring top-down search (29.85ms)
projectile-root-bottom-up
identifies the root directory of a project by bottom-up search (32.92ms)
projectile-project-root
returns the root directory of a project (399.70ms)
projectile-file-exists-p
returns t if file exists (46.28ms)
caches the results (13.65ms)
projectile-project-root
caches the current file Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil. (315.69ms)
[00:06.878] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:06.901] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
[00:07.117] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ |
ensures that we update the cache if it's expired Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil. (303.33ms)
ensures that we don't cache a project root if the path has changed. (30.34ms)
[00:08.183]
[00:08.349]
projectile-grep
multi-root grep
grep multi-root projects (1.18s)
[00:08.557]
rgrep
excludes global ignores Expected `compilation-start' to have been called with ("-type d \\( -path \\*/IG_DIR \\) -prune -o \\! -type d \\( -name IG_FILE -o -name \\*IG_SUF \\) -prune -o \\( -path ./GLOB_IG_DIR -o -path ./GLOB_IG_FILE \\) -prune -o " grep-mode), but it was called with ("-type d \"(\" -path \"*/IG_DIR\" \")\" -prune -o ^\"^!^\" -type d \"(\" -name \"IG_FILE\" -o -name \"*IG_SUF\" \")\" -prune -o \"(\" -path \"./GLOB_IG_DIR\" -o -path \"./GLOB_IG_FILE\" \")\" -prune -o " grep-mode) (223.07ms)
[00:08.846]
excludes project ignores Expected `compilation-start' to have been called with ("\\( -path ./baz -o -path ./foo.txt -o -path ./bar/foo.txt \\) -prune -o \\( \\( -path \\*.txt -o -path \\*.text \\) -a \\! \\( -path ./abc.txt -o -path ./bar/abc.txt -o -path \\*/def.txt \\) \\) -prune -o " grep-mode), but it was called with ("\"(\" -path \"./baz\" -o -path \"./foo.txt\" -o -path \"./bar/foo.txt\" \")\" -prune -o \"(\" \"(\" -path \"*.txt\" -o -path \"*.text\" \")\" -a ^\"^!^\" \"(\" -path \"./abc.txt\" -o -path \"./bar/abc.txt\" -o -path \"*/def.txt\" \")\" \")\" -prune -o " grep-mode) (289.30ms)
grep a git project using default files (1.35s)
projectile-switch-project
fails if there are no projects (5.51ms)
projectile-switch-project-by-name
calls the switch project action with project-to-switch's dir-locals loaded (55.66ms)
runs hooks from the project root directory (288.74ms)
ensures the buffer is switched immediately (25.66ms)
projectile-ignored-buffer-p
checks if buffer should be ignored (3.80ms)
[00:10.676] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:10.694] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
projectile-get-other-files
returns files with same names but different extensions (151.87ms)
[00:10.801] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:10.818] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
returns files based on the paths returned by :related-files-fn option (88.68ms)
[00:10.879] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:10.896] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
returns files based on the predicate returned by :related-files-fn option (68.85ms)
projectile-compilation-dir
returns the compilation directory for a project (7.55ms)
returns the default compilation dir based on project-type (3.66ms)
should not fail on bad compilation dir config (9.32ms)
projectile-default-compilation-command
returns the default compilation command for project-type (4.90ms)
fails on bad project-type config (2.69ms)
projectile-detect-project-type
detects project-type for rails-like npm tests (27.21ms)
detects project-type for elisp eldev projects (23.71ms)
projectile-dirname-matching-count
counts matching dirnames ascending file paths (4.82ms)
[00:11.030] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:11.050] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
projectile--find-matching-test
finds matching test or file (95.27ms)
[00:11.128] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:11.148] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
finds matching test or file with dirs (79.63ms)
[00:11.214] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:11.229] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
finds matching test or file based on the paths returned by :related-files-fn option (71.86ms)
[00:11.279] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:11.298] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
finds matching test or file by the predicate returned by :related-files-fn option (82.89ms)
defers to test-dir property when it's set to a function (25.18ms)
defers to src-dir property when it's set to a function (22.25ms)
[00:11.409] Projectile is initializing cache for c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ ...
[00:11.427] Projectile is indexing c:/Users/pidsleywin/ghq/github.com/bbatsov/projectile/.eldev/27.2/local/packages/projectile-2.4.0/test/sandbox/project/ \
projectile--related-files
returns related files for the given file (71.00ms)
projectile--merge-related-files-fns
returns a new function which returns the merged plist from each fn (4.79ms)
projectile-related-files-fn-groups
generate related files fn which relates members of each group as a specified kind (7.36ms)
projectile-related-files-fn-extensions
generate related files fn which relates files with the given extnsions (6.57ms)
projectile-related-files-fn-tests-with-prefix
generate related files fn which relates tests and impl based on extension and prefix (9.50ms)
projectile-related-files-fn-tests-with-suffix
generate related files fn which relates tests and impl based on extension and suffix (8.04ms)
projectile--related-files-plist-by-kind
when :related-files-fn returns paths
returns a plist containing :paths only with the existing files on file system without duplication (49.05ms)
when :related-files-fn returns one predicate
returns a plist containing :predicate with the same predicate (17.42ms)
when :related-files-fn returns multiple predicates
returns a plist containing :predicate with a merging predicate (19.10ms)
when :related-files-fn returns both paths and predicates
returns a plist containing both :paths and :predicates (15.49ms)
when :related-files-fn is a list of functions
returns a plist containing the merged results (21.13ms)
projectile-get-all-sub-projects
excludes out-of-project submodules (20.33ms)
projectile-get-all-sub-projects-files
returns relative paths to submodule files (4.37ms)
projectile-configure-command
configure command for generic project type (3.87ms)
projectile-add-known-project
an added project should be added to the list of known projects (12.18ms)
adding a project should move it to the front of the list of known projects, if it already existed. (15.93ms)
~/project and ~/project/ should not be added separately to the known projects list (30.41ms)
projectile-load-known-projects
loads known projects through serialization functions (4.85ms)
projectile-merge-known-projects
merges known projects (23.62ms)
merges known projects to an empty file (12.78ms)
merges known projects from an empty file (20.76ms)
merges known projects while keeping their order (18.75ms)
projectile-save-known-projects
saves known projects through serialization functions (2.66ms)
projectile-serialization-functions
tests that serialization functions can save/restore data to the filesystem (14.42ms)
projectile-clear-known-projects
clears known projects (5.40ms)
projectile-reset-known-projects
resets known projects (2.95ms)
projectile-test-ignored-directory-p
ignores specified literal directory values (9.18ms)
ignores specified regex directory values (3.15ms)
projectile-relevant-known-projects
when projectile-current-project-on-switch is 'remove
removes the current project (5.28ms)
when projectile-current-project-on-switch is 'move-to-end
moves the current project to the end of projectile-known-projects (6.11ms)
when projectile-current-project-on-switch is 'keep
returns projectile-known-projects (4.45ms)
projectile-relevant-open-projects
when projectile-current-project-on-switch is 'remove
removes the current project (7.33ms)
when projectile-current-project-on-switch is 'move-to-end
moves the current project to the end of projectile-known-projects (6.35ms)
when projectile-current-project-on-switch is 'keep
returns projectile-open-projects (4.72ms)
projectile-default-mode-line
includes the project name and type when in a project (4.78ms)
returns also a - if called outside a project (3.16ms)
respects the value of projectile-mode-line-prefix (7.69ms)
projectile--directory-p
tests which directory exists (2.83ms)
projectile-find-file-in-directory
fails when called in a non-existing directory (4.81ms)
[00:11.917] Projectile is indexing projectA/ \
projectile-dir-files-native
calculates ignored files and directories only once during recursion (213.81ms)
[00:12.129] Projectile is indexing project... \
ignores globally ignored directories when using native indexing (108.23ms)
projectile-process-current-project-buffers-current
expects projectile-process-current-project-buffers and
expects projectile-process-current-project-buffers andve similar behaviour
projectile-process-current-project-buffers-current to have similar behaviour (175.69ms)
projectile--impl-name-for-test-name
removes suffix from test file (3.85ms)
removes prefix from test file (2.33ms)
projectile-find-implementation-or-test
error when test file does not exist and projectile-create-missing-test-files is nil (54.08ms)
projectile--impl-file-from-src-dir-fn
returns result of projectile--complementary-file when src-dir property is a function (6.83ms)
returns file relative to project root (2.73ms)
returns nil when src-dir property is a not function (3.38ms)
returns nil when src-dir function result is not an existing file (7.23ms)
projectile--test-file-from-test-dir-fn
returns result of projectile--complementary-file when test-dir property is a function (6.51ms)
returns file relative to project root (2.75ms)
returns nil when test-dir property is a not function (3.65ms)
projectile--complementary-file
dir-fn and filename-fn applied correctly (3.88ms)
projectile--impl-to-test-dir
replaces occurrences of src-dir with test-dir Expected `(projectile--impl-to-test-dir "/foo/src/Foo")' to be `equal' to `"/foo/test/"', but instead it was `"c:/foo/test/"' which does not match because: (arrays-of-different-length 12 10 "c:/foo/test/" "/foo/test/" first-mismatch-at 0). (13.11ms)
error signalled when test dir property is not a string (3.14ms)
projectile-run-shell-command-in-root
when called directly in elisp
when called with all three paramters
expects to call shell-command with the same parameters (19.84ms)
when called with only one optional paramter
expects to call shell-command with the same parameters (14.39ms)
when called with no optional paramters
expects to call shell-command with the same parameters (11.02ms)
when called interactively
expects to be interactive (3.16ms)
expects to call shell-command with the given command (12.69ms)
projectile-run-async-shell-command-in-root
when called directly in elisp
when called with all three paramters
expects to call async-shell-command with the same parameters (13.48ms)
when called with only one optional paramter
expects to call async-shell-command with the same parameters (12.46ms)
when called with no optional paramters
expects to call async-shell-command with the same parameters (11.76ms)
when called interactively
expects to be interactive (3.38ms)
expects to call async-shell-command with the given command (12.83ms)
when calling projectile-project-info without a project
throws a friendly error (2.42s)
when calling projectile-display-buffer without a project
throws a friendly error (273.13ms)
when calling projectile-find-implementation-or-test-other-frame without a project
throws a friendly error (277.61ms)
when calling projectile-find-implementation-or-test-other-window without a project
throws a friendly error (273.47ms)
when calling projectile-find-other-file without a project
throws a friendly error (371.53ms)
when calling projectile-find-other-file-other-frame without a project
throws a friendly error (310.26ms)
when calling projectile-find-other-file-other-window without a project
throws a friendly error (257.91ms)
when calling projectile-find-test-file without a project
throws a friendly error (323.75ms)
when calling projectile-grep without a project
throws a friendly error (270.00ms)
when calling projectile-ibuffer without a project
throws a friendly error (286.54ms)
when calling projectile-project-buffers-other-buffer without a project
throws a friendly error (253.77ms)
when calling projectile-project-info without a project
throws a friendly error (267.95ms)
when calling projectile-regenerate-tags without a project
throws a friendly error (268.59ms)
when calling projectile-remove-current-project-from-known-projects without a project
throws a friendly error (301.70ms)
when calling projectile-switch-to-buffer without a project
throws a friendly error (399.43ms)
when calling projectile-switch-to-buffer-other-frame without a project
throws a friendly error (272.50ms)
when calling projectile-switch-to-buffer-other-window without a project
throws a friendly error (270.62ms)
========================================
projectile-expand-root expands a relative path into an absolute path within a project
Traceback (most recent call last):
buttercup-fail("%s" "Expected `(projectile-expand-root \"foo\")' to be `equal' to `\"/path/to/project/foo\"', but instead it was `\"c:/path/to/project/foo\"' which does not match because: (arrays-of-different-length 22 20 \"c:/path/to/project/foo\" \"/path/to/project/foo\" first-mismatch-at 0).")
signal(buttercup-failed "Expected `(projectile-expand-root \"foo\")' to be `equal' to `\"/path/to/project/foo\"', but instead it was `\"c:/path/to/project/foo\"' which does not match because: (arrays-of-different-length 22 20 \"c:/path/to/project/foo\" \"/path/to/project/foo\" first-mismatch-at 0).")
FAILED: Expected `(projectile-expand-root "foo")' to be `equal' to `"/path/to/project/foo"', but instead it was `"c:/path/to/project/foo"' which does not match because: (arrays-of-different-length 22 20 "c:/path/to/project/foo" "/path/to/project/foo" first-mismatch-at 0).
========================================
projectile-ignored-files returns list of ignored files
Traceback (most recent call last):
buttercup-fail("%s" "Expected `(projectile-ignored-files)' to be `equal' to `(\"/path/to/project/TAGS\" \"/path/to/project/foo.js\" \"/path/to/project/bar.rb\")', but instead it was `(\"c:/path/to/project/TAGS\" \"c:/path/to/project/foo.js\" \"c:/path/to/project/bar.rb\")' which does not match because: (list-elt 0 (arrays-of-different-length 23 21 \"c:/path/to/project/TAGS\" \"/path/to/project/TAGS\" first-mismatch-at 0)).")
signal(buttercup-failed "Expected `(projectile-ignored-files)' to be `equal' to `(\"/path/to/project/TAGS\" \"/path/to/project/foo.js\" \"/path/to/project/bar.rb\")', but instead it was `(\"c:/path/to/project/TAGS\" \"c:/path/to/project/foo.js\" \"c:/path/to/project/bar.rb\")' which does not match because: (list-elt 0 (arrays-of-different-length 23 21 \"c:/path/to/project/TAGS\" \"/path/to/project/TAGS\" first-mismatch-at 0)).")
FAILED: Expected `(projectile-ignored-files)' to be `equal' to `("/path/to/project/TAGS" "/path/to/project/foo.js" "/path/to/project/bar.rb")', but instead it was `("c:/path/to/project/TAGS" "c:/path/to/project/foo.js" "c:/path/to/project/bar.rb")' which does not match because: (list-elt 0 (arrays-of-different-length 23 21 "c:/path/to/project/TAGS" "/path/to/project/TAGS" first-mismatch-at 0)).
========================================
projectile-ignored-directories returns list of ignored directories
Traceback (most recent call last):
buttercup-fail("%s" "Expected `(projectile-ignored-directories)' to be `equal' to `(\"/path/to/project/compiled/\" \"/path/to/project/ignoreme/\" \"/path/to/project/tmp/\" \"/path/to/project/log/\")', but instead it was `(\"c:/path/to/project/compiled/\" \"c:/path/to/project/ignoreme/\" \"c:/path/to/project/tmp/\" \"c:/path/to/project/log/\")' which does not match because: (list-elt 0 (arrays-of-different-length 28 26 \"c:/path/to/project/compiled/\" \"/path/to/project/compiled/\" first-mismatch-at 0)).")
signal(buttercup-failed "Expected `(projectile-ignored-directories)' to be `equal' to `(\"/path/to/project/compiled/\" \"/path/to/project/ignoreme/\" \"/path/to/project/tmp/\" \"/path/to/project/log/\")', but instead it was `(\"c:/path/to/project/compiled/\" \"c:/path/to/project/ignoreme/\" \"c:/path/to/project/tmp/\" \"c:/path/to/project/log/\")' which does not match because: (list-elt 0 (arrays-of-different-length 28 26 \"c:/path/to/project/compiled/\" \"/path/to/project/compiled/\" first-mismatch-at 0)).")
FAILED: Expected `(projectile-ignored-directories)' to be `equal' to `("/path/to/project/compiled/" "/path/to/project/ignoreme/" "/path/to/project/tmp/" "/path/to/project/log/")', but instead it was `("c:/path/to/project/compiled/" "c:/path/to/project/ignoreme/" "c:/path/to/project/tmp/" "c:/path/to/project/log/")' which does not match because: (list-elt 0 (arrays-of-different-length 28 26 "c:/path/to/project/compiled/" "/path/to/project/compiled/" first-mismatch-at 0)).
========================================
projectile-project-ignored returns list of ignored files/directories
Traceback (most recent call last):
buttercup-fail("%s" "Expected `(projectile-project-ignored)' to be `equal' to `(\"c:/path/to/project/log\" \"c:/path/to/project/tmp\" \"c:/path/to/project/compiled\")', but instead it was `(\"/path/to/project/log\" \"/path/to/project/tmp\" \"/path/to/project/compiled\")' which does not match because: (list-elt 0 (arrays-of-different-length 20 22 \"/path/to/project/log\" \"c:/path/to/project/log\" first-mismatch-at 0)).")
signal(buttercup-failed "Expected `(projectile-project-ignored)' to be `equal' to `(\"c:/path/to/project/log\" \"c:/path/to/project/tmp\" \"c:/path/to/project/compiled\")', but instead it was `(\"/path/to/project/log\" \"/path/to/project/tmp\" \"/path/to/project/compiled\")' which does not match because: (list-elt 0 (arrays-of-different-length 20 22 \"/path/to/project/log\" \"c:/path/to/project/log\" first-mismatch-at 0)).")
FAILED: Expected `(projectile-project-ignored)' to be `equal' to `("c:/path/to/project/log" "c:/path/to/project/tmp" "c:/path/to/project/compiled")', but instead it was `("/path/to/project/log" "/path/to/project/tmp" "/path/to/project/compiled")' which does not match because: (list-elt 0 (arrays-of-different-length 20 22 "/path/to/project/log" "c:/path/to/project/log" first-mismatch-at 0)).
========================================
projectile-dir-files lists the files in directory and sub-directories
Traceback (most recent call last):
projectile-dir-files("/my/root/")
(let ((files-list (and projectile-enable-caching (gethash directory projectile-projects-cache)))) (or files-list (let ((vcs (projectile-project-vcs directory))) (cond ((eq projectile-indexing-method 'native) (projectile-dir-files-native directory)) ((eq projectile-indexing-method 'hybrid) (projectile-adjust-files directory vcs (projectile-dir-files-alien directory))) ((eq projectile-indexing-method 'alien) (projectile-dir-files-alien directory)) (t (user-error "Unsupported indexing method `%S'" projectile-indexing-method))))))
(and projectile-enable-caching (gethash directory projectile-projects-cache))
gethash("/my/root/" nil)
error: (wrong-type-argument hash-table-p nil)
========================================
projectile-project-root caches the current file
Traceback (most recent call last):
buttercup-fail("%s" "Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil.")
signal(buttercup-failed "Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil.")
FAILED: Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil.
========================================
projectile-project-root ensures that we update the cache if it's expired
Traceback (most recent call last):
buttercup-fail("%s" "Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil.")
signal(buttercup-failed "Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil.")
FAILED: Expected `(member f (gethash (projectile-project-root) projectile-projects-cache))' to be non-nil, but instead it was nil.
========================================
projectile-grep rgrep excludes global ignores
Traceback (most recent call last):
buttercup-fail("%s" "Expected `compilation-start' to have been called with (\"-type d \\\\( -path \\\\*/IG_DIR \\\\) -prune -o \\\\! -type d \\\\( -name IG_FILE -o -name \\\\*IG_SUF \\\\) -prune -o \\\\( -path ./GLOB_IG_DIR -o -path ./GLOB_IG_FILE \\\\) -prune -o \" grep-mode), but it was called with (\"-type d \\\"(\\\" -path \\\"*/IG_DIR\\\" \\\")\\\" -prune -o ^\\\"^!^\\\" -type d \\\"(\\\" -name \\\"IG_FILE\\\" -o -name \\\"*IG_SUF\\\" \\\")\\\" -prune -o \\\"(\\\" -path \\\"./GLOB_IG_DIR\\\" -o -path \\\"./GLOB_IG_FILE\\\" \\\")\\\" -prune -o \" grep-mode)")
signal(buttercup-failed "Expected `compilation-start' to have been called with (\"-type d \\\\( -path \\\\*/IG_DIR \\\\) -prune -o \\\\! -type d \\\\( -name IG_FILE -o -name \\\\*IG_SUF \\\\) -prune -o \\\\( -path ./GLOB_IG_DIR -o -path ./GLOB_IG_FILE \\\\) -prune -o \" grep-mode), but it was called with (\"-type d \\\"(\\\" -path \\\"*/IG_DIR\\\" \\\")\\\" -prune -o ^\\\"^!^\\\" -type d \\\"(\\\" -name \\\"IG_FILE\\\" -o -name \\\"*IG_SUF\\\" \\\")\\\" -prune -o \\\"(\\\" -path \\\"./GLOB_IG_DIR\\\" -o -path \\\"./GLOB_IG_FILE\\\" \\\")\\\" -prune -o \" grep-mode)")
FAILED: Expected `compilation-start' to have been called with ("-type d \\( -path \\*/IG_DIR \\) -prune -o \\! -type d \\( -name IG_FILE -o -name \\*IG_SUF \\) -prune -o \\( -path ./GLOB_IG_DIR -o -path ./GLOB_IG_FILE \\) -prune -o " grep-mode), but it was called with ("-type d \"(\" -path \"*/IG_DIR\" \")\" -prune -o ^\"^!^\" -type d \"(\" -name \"IG_FILE\" -o -name \"*IG_SUF\" \")\" -prune -o \"(\" -path \"./GLOB_IG_DIR\" -o -path \"./GLOB_IG_FILE\" \")\" -prune -o " grep-mode)
========================================
projectile-grep rgrep excludes project ignores
Traceback (most recent call last):
buttercup-fail("%s" "Expected `compilation-start' to have been called with (\"\\\\( -path ./baz -o -path ./foo.txt -o -path ./bar/foo.txt \\\\) -prune -o \\\\( \\\\( -path \\\\*.txt -o -path \\\\*.text \\\\) -a \\\\! \\\\( -path ./abc.txt -o -path ./bar/abc.txt -o -path \\\\*/def.txt \\\\) \\\\) -prune -o \" grep-mode), but it was called with (\"\\\"(\\\" -path \\\"./baz\\\" -o -path \\\"./foo.txt\\\" -o -path \\\"./bar/foo.txt\\\" \\\")\\\" -prune -o \\\"(\\\" \\\"(\\\" -path \\\"*.txt\\\" -o -path \\\"*.text\\\" \\\")\\\" -a ^\\\"^!^\\\" \\\"(\\\" -path \\\"./abc.txt\\\" -o -path \\\"./bar/abc.txt\\\" -o -path \\\"*/def.txt\\\" \\\")\\\" \\\")\\\" -prune -o \" grep-mode)")
signal(buttercup-failed "Expected `compilation-start' to have been called with (\"\\\\( -path ./baz -o -path ./foo.txt -o -path ./bar/foo.txt \\\\) -prune -o \\\\( \\\\( -path \\\\*.txt -o -path \\\\*.text \\\\) -a \\\\! \\\\( -path ./abc.txt -o -path ./bar/abc.txt -o -path \\\\*/def.txt \\\\) \\\\) -prune -o \" grep-mode), but it was called with (\"\\\"(\\\" -path \\\"./baz\\\" -o -path \\\"./foo.txt\\\" -o -path \\\"./bar/foo.txt\\\" \\\")\\\" -prune -o \\\"(\\\" \\\"(\\\" -path \\\"*.txt\\\" -o -path \\\"*.text\\\" \\\")\\\" -a ^\\\"^!^\\\" \\\"(\\\" -path \\\"./abc.txt\\\" -o -path \\\"./bar/abc.txt\\\" -o -path \\\"*/def.txt\\\" \\\")\\\" \\\")\\\" -prune -o \" grep-mode)")
FAILED: Expected `compilation-start' to have been called with ("\\( -path ./baz -o -path ./foo.txt -o -path ./bar/foo.txt \\) -prune -o \\( \\( -path \\*.txt -o -path \\*.text \\) -a \\! \\( -path ./abc.txt -o -path ./bar/abc.txt -o -path \\*/def.txt \\) \\) -prune -o " grep-mode), but it was called with ("\"(\" -path \"./baz\" -o -path \"./foo.txt\" -o -path \"./bar/foo.txt\" \")\" -prune -o \"(\" \"(\" -path \"*.txt\" -o -path \"*.text\" \")\" -a ^\"^!^\" \"(\" -path \"./abc.txt\" -o -path \"./bar/abc.txt\" -o -path \"*/def.txt\" \")\" \")\" -prune -o " grep-mode)
========================================
projectile--impl-to-test-dir replaces occurrences of src-dir with test-dir
Traceback (most recent call last):
buttercup-fail("%s" "Expected `(projectile--impl-to-test-dir \"/foo/src/Foo\")' to be `equal' to `\"/foo/test/\"', but instead it was `\"c:/foo/test/\"' which does not match because: (arrays-of-different-length 12 10 \"c:/foo/test/\" \"/foo/test/\" first-mismatch-at 0).")
signal(buttercup-failed "Expected `(projectile--impl-to-test-dir \"/foo/src/Foo\")' to be `equal' to `\"/foo/test/\"', but instead it was `\"c:/foo/test/\"' which does not match because: (arrays-of-different-length 12 10 \"c:/foo/test/\" \"/foo/test/\" first-mismatch-at 0).")
FAILED: Expected `(projectile--impl-to-test-dir "/foo/src/Foo")' to be `equal' to `"/foo/test/"', but instead it was `"c:/foo/test/"' which does not match because: (arrays-of-different-length 12 10 "c:/foo/test/" "/foo/test/" first-mismatch-at 0).
Ran 158 specs, 10 failed, in 15.74s.
[00:20.169] 10 tests failed
[00:20.177] Finished erroneously on Thu Jul 1 06:05:40 2021
10 tests fail because of Unix filesystem assumptions (no driver letter) in paths.
Using the native (x86_64-w64-mingw32) Windows Emacs 27.2 build:
Expected behavior
Tests pass
Actual behavior
10 tests fail because of Unix filesystem assumptions (no driver letter) in paths.
Steps to reproduce the problem
Run
eldev.bat -p -dtT -C test --expect 100on a Windows system.Environment & Version information
Projectile version information
Emacs version
GNU Emacs 27.2 (build 1, x86_64-w64-mingw32)
of 2021-03-26
Operating system
Windows 10