Commit Graph
19 Commits
Author SHA1 Message Date
Mike McQuaid e7984b34d5 Improve HOMEBREW_BREW_FILE unset failure case.
Print a better exception message and handle this in more cases rather
than producing confusing errors when it’s unset.
2016-08-24 14:48:53 +01:00
Andrea KaoandMartin Afanasjew 8ec59253df tests: fix code style issues (#587) 2016-08-06 07:04:59 +02:00
Andrea KaoandMartin Afanasjew 4b40a87ca4 tests: nest HOMEBREW_TEMP inside TEST_TMPDIR (#554) 2016-07-19 17:23:44 +02:00
Mike McQuaidandGitHub a02be9eea2 ENV: move to new paths. (#507)
Move some stuff formerly in `Library/ENV` around:
- Move `Library/ENV/$XCODE_VERSION` to `Library/Homebrew/env/super` as they are
  all superenv wrappers and all symlinks to the same version. We never needed
  the "separate shims for separate versions" functionality and it just adds
  confusion.
- Move `Library/ENV/pkgconfig` to `Library/Homebrew/env/pkgconfig` to get more
  things under `Library/Homebrew`
- Move `Library/ENV/scm` to `Library/scm` as these wrappers are not actually
  used by or related to superenv (or stdenv) in any way.
2016-07-15 19:03:45 +01:00
Martin Afanasjew 9e021aa661 test/lib/config: group paths by persistence
Rearrange path constants such that persistent paths (that point into the
Homebrew code base) are in one spot and all other paths (that are being
redirected to a temporary location for the duration of the test run) are
grouped together.

Closes #440.

Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
2016-07-05 20:09:07 +02:00
Xu Cheng 8d64b6a02d introduce global lock directory (#337)
Since #292, HOMEBREW_CACHE was moved to a per-user directory. This makes
it unsuitable to store global lock files on multiple users environment.

Therefore, introducing a global lock directory `/Library/Lock.d` to
store lock files from formula lockers as well as `brew update`.
2016-06-08 17:29:03 +08:00
Xu Cheng ce7b32cec8 add HOMEBREW_ENV_PATH internal variable
`Library/ENV` like `Library/Homebrew` is part of Homebrew basecode. It
should be able to be accessed during the `brew tests`.

By adding HOMEBREW_ENV_PATH variable, we allow test suit to locate these
codes.
2016-03-21 19:07:38 +08:00
Baptiste Fontaine 115e6b49bc tests: monkey-patch exec to get coverage reports
Closes Homebrew/homebrew#48923.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-02-07 11:52:26 +01:00
Xu Cheng 12a452557d make HOMEBREW_BREW_FILE a Pathname object
Currently HOMEBREW_BREW_FILE is a String, while other of HOMEBREW_*
variables are all Pathname. This commit unifies them all as Pathname,
so it will not cause any confusion.

Closes Homebrew/homebrew#48872.

Signed-off-by: Xu Cheng <xucheng@me.com>
2016-02-06 02:52:48 +08:00
ilovezfsandXu Cheng fb9818ae8c HOMEBREW_BREW_FILE was unset for the tests
This fixes a regression introduced by 3f6a355, which caused
HOMEBREW_BREW_FILE to be unset while running the tests.

Patch provided by Xu Cheng.
2016-02-05 21:52:11 +08:00
ilovezfsandMike McQuaid cc3d041c26 DSL method "apply" to specify patch files
The "apply" DSL method can be called from patch-do blocks to specify
the paths within an archive of the desired patch files, which will be
applied in the order in which they were supplied to the "apply" calls.
If "apply" isn't used, raise an error whenever the extracted directory
doesn't contain exactly one file.

The "apply" method can be called zero or more times within a patch-do
block with the following syntaxes supported:

    apply "single_apply"
    apply "multiple_apply_1", "multiple_apply_2"
    apply [array_of_apply]

If apply must be used, a single call using the second syntax above is
usually best practice. Each apply leaf should be the relative path to a
specific patch file in the extracted directory.

For example, if extracting this-v123-patches.tar.gz gives you

    this-123
    this-123/.DS_Store
    this-123/LICENSE.txt
    this-123/patches
    this-123/patches/A.diff
    this-123/patches/B.diff
    this-123/patches/C.diff
    this-123/README.txt

and you want to apply only B.diff and C.diff, then you need to use
"patches/B.diff" and "patches/C.diff" for the lowest-level apply leaves.

The code was provided by Xu Cheng. Any mistakes are mine.
2016-02-01 18:37:36 +00:00
Alex Dunn 0cde5dd060 test: add metafiles to testball 2016-01-20 11:42:36 -08:00
Baptiste Fontaine c8401b8243 a few more integration tests
Closes Homebrew/homebrew#47714.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2016-01-06 12:22:58 +01:00
Mike McQuaid 76a0b1d494 test/lib/config: HOMEBREW_LIBRARY_PATH is normally a Pathname. 2015-07-28 10:57:55 +01:00
Jack Nagel 2ca8172fe9 Let the test environment inject its own load path 2015-04-29 19:15:11 -04:00
Jack Nagel 80403db9a1 Use Dir.tmpdir rather than /tmp in test environment 2015-04-29 19:15:11 -04:00
Jack Nagel dc6af1a6ae Ensure HOMEBREW_TEMP is respected in all tests 2015-04-29 19:15:11 -04:00
Jack Nagel 44ca2043d0 Allow test tmpdir to be passed in 2015-04-29 19:15:11 -04:00
Jack Nagel 0397d68259 Extract runtime configuration from global.rb
This allows global.rb to be safely loaded in the test environment.
2015-04-29 19:15:11 -04:00