Subject: 26.0.50; Need a better test of whether running on Hydra than $NIX_STORE

From: Gemini Lasswell <[email-masked]>
Date: Mon, 17 Jul 2017 19:03:16 -0700

There are places in the test code in Emacs which use the existence of
the NIX_STORE environment variable to change test behavior when
running on Hydra. However, Emacs should have a different and more
specific test for whether it is running on Hydra, so that those
behavior changes don't happen on other machines running NixOS or the
Nix package manager.

I noticed this because of Michael Albinus's recent addition of some
NIX_STORE checks to test/Makefile.in and tramp-tests.el in an attempt
to track down test failures on Hydra. Those changes cause
tramp-tests.el to run much slower on my machine and spam its logfile
to standard output.

In addition, checks of NIX_STORE cause a few eieio tests to be skipped
and ERT to print more detailed test summaries. Then there's this bit
of code, found in both tramp-tests.el and filenotify-tests.el:

;; This shall happen on hydra only.
(when (getenv "NIX_STORE")
  (add-to-list 'tramp-remote-path 'tramp-own-remote-path))

which looks a bit backwards to me because changing tramp-remote-path
is necessary on my Mac to make Tramp able to talk to a NixOS (or Guix)
machine. But it's not necessary to change tramp-remote-path to make
Tramp on the NixOS machine remotely connect to the Mac. Presumably
Hydra is always talking to another NixOS machine here, and the use of
NIX_STORE should be replaced by something more specific to Hydra. But
it would be more generally correct to look at the value of NIX_STORE
on the machine that REMOTE_TEMPORARY_FILE_DIRECTORY points to.