Skip to content

Multiple tests fail on Windows (native x86_64-w64-mingw32 build) #1683

Description

@juergenhoetzel

Using the native (x86_64-w64-mingw32) Windows Emacs 27.2 build:

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

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 100 on a Windows system.

Environment & Version information

Projectile version information

20210630.718

Emacs version

GNU Emacs 27.2 (build 1, x86_64-w64-mingw32)
of 2021-03-26

Operating system

Windows 10

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions