| Age | Commit message (Collapse) | Author |
|
The latter was replacing the former due to an identical method name.
|
|
Test was added in 61614d35294c8faffaeb5c7f0ec6dea78dbbc30f, but never
had any effect because it was replaced by a method of the same name a
few lines further down.
|
|
* readall: move readall logic to new class.
* tap: run readall when tapping.
This will prevent tapping an tap with syntax errors from causing issues
for users.
Fixes #58.
|
|
Instead of writing a custom ensure for every test let's just nuke
all the files every time. This may be something we might want to use for
other unit tests too. It leans heavily on the fact that a
`FileUtils.rm_rf` on files that don't exist is very quick and things
like `brew cleanup` are super slow in comparison.
Before:
```
$ brew tests --only=integration_cmds --official-cmd-taps
Finished in 49.764724s, 1.0047 runs/s, 5.2648 assertions/s.
```
After:
```
$ brew tests --only=integration_cmds --official-cmd-taps
Finished in 43.014769s, 1.1624 runs/s, 5.8352 assertions/s.
```
|
|
|
|
|
|
Beta versions of XQuartz have address sanitization enabled, which
breaks some software at runtime, including wine.
Closes Homebrew/homebrew-core#2481.
Closes #459.
Signed-off-by: Misty De Meo <mistydemeo@github.com>
|
|
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>
|
|
Truncates each log file to about 1 MB. This avoids upload and
download errors with the gists, and respects GitHub's suggested
size limits.
|
|
Prior to the fix, every run of the test suite would leave behind a pair
of empty directories in `$TMPDIR`. (A temporary home directory was
created but only its child `Applications` was wiped when done.)
|
|
|
|
|
|
This reverts commit dba1958bd79c1c9d18f215dfc2b806ea62edd1c8.
|
|
This reverts commit 252c701c59227c385ef6178fe99523cca8c843bb.
Taps installed prior to running the test suite are not visible to the
test suite as most Homebrew paths are redefined as to not mess up the
local installation.
|
|
All of these taps use Homebrew internal APIs (or will shortly) and we
autoinstall them all from `brew $CMD`. We should adjust our CI to ensure
that we never accidentally break these taps when making changes to core
code so that these taps can rely more on this core code rather than
having to e.g. vendor equivalent code that never changes on our end.
|
|
Closes #432.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
|
|
Closes #419.
|
|
|
|
|
|
|
|
|
|
Move dylib_path and bundle_path from test_mach to testing_env to
accommodate the new tests.
Closes #400.
Signed-off-by: Martin Afanasjew <martin@afanasjew.de>
|
|
This reverts commit 62d7079684cdb568600e22531c62888622a71ff1.
|
|
Move dylib_path and bundle_path from test_mach to testing_env to
accommodate the new test.
Closes #400.
Signed-off-by: Tim D. Smith <git@tim-smith.us>
|
|
|
|
|
|
Add SharedEnvExtension#gcc_with_cxx11_support? to centralise the
logic for checking whether a compiler is known to support C++11.
Update logic to accept GCC 4.8 and above (including 6). Thereby also
address oversight in #163 where support for GCC 6 was added without
updating the C++11 compiler whitelist.
Add tests for Superenv#cxx11.
Closes #346.
|
|
Problems fixed:
- Broken and leaking test if run as part of `brew tests --coverage` due
to the `cmd` call being nested in the `Pathname#cd` block.
- Output during `git clone` operation because of a missing `shutup do`.
- Still incomplete coverage for `cmd/log.rb` because `brew log` is
invoked on the formula in the origin instead of the shallow clone.
- Minor stylistic fixes:
- Superfluous parentheses around `core_tap.path.dirname`.
- Overly long lines.
|
|
There is no good reason to configure the options specific to integration
tests in a completely different location from all other options.
|
|
Simply drop because the `require`s are not actually used by the tests
and no file from `compat/` should be loaded unconditionally. (This can
otherwise lead to incorrect results for `brew tests --no-compat`.)
|
|
Fixes:
```
1) Error:
FormularyFactoryTest#test_factory_from_bottle:
Errno::ENOENT: No such file or directory - /usr/local/Library/Homebrew/test/bottles/testball_bottle-0.1.sierra.bottle.tar.gz
/usr/local/Library/Homebrew/formulary.rb:98:in `realpath'
/usr/local/Library/Homebrew/formulary.rb:98:in `realpath'
/usr/local/Library/Homebrew/formulary.rb:98:in `initialize'
/usr/local/Library/Homebrew/formulary.rb:274:in `new'
/usr/local/Library/Homebrew/formulary.rb:274:in `loader_for'
/usr/local/Library/Homebrew/formulary.rb:215:in `factory'
/usr/local/Library/Homebrew/test/test_formulary.rb:79:in `test_factory_from_bottle'
```
Closes #358.
Signed-off-by: Dominyk Tiller <dominyktiller@gmail.com>
|
|
|
|
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`.
|
|
|
|
Amends e4d0187120e61bc80d31ebecc3b38f0740b20bb5. The `require` was
accidentally omitted causing the tests to fail very sporadically (or
always, when invoked as `brew tests --only=integration_cmds`).
|
|
|
|
|
|
This will almost certainly fail every time so let's disable this error.
|
|
The check that `t4` is not an external command would always succeed, but
not because the file wasn't executable, but because it wasn't even found
due to the missing `brew-` prefix.
Also change the valid but atypical file mode from 0744 to 0755 and apply
minor code style fixes.
|
|
At this point it's never a good compiler to use so let's just remove it.
|
|
Closes #239.
|
|
Makes it easy to debug what’s gone wrong.
|
|
|
|
|
|
|
|
This causes truncate to simply return the original string if the
terminal is not very wide, or if the terminal is unsupported.
|
|
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.
|
|
Replace `homebrew` with `brew`, `homebrew-core`, or `legacy-homebrew`
depending on context.
|
|
* add Language::Node helper module
This adds a language module for Node module based formulas.
It contains the 2 public methods `std_npm_install_args(libexec)` and
`local_npm_install_args`:
* `std_npm_install_args` is intended to be used in formulas for
standard node modules and returns `npm install` args for a global
style module installation to libexec.
* `local_npm_install_args` is for formulas, in which the `npm install`
step is only one of multiple parts of the installation process and
returns `npm install` args for a default local installation in place.
Both methods have in common, that they are
* making sure that a working copy of npm and node-gyp from node's
libexec is prepended to the PATH (to not rely of a user managed npm)
* seting the npm cache to HOMEBREW_CACHE/npm, which fixes issues caused
by overriding $HOME resulting in long install times + high disk usage
(see https://github.com/Homebrew/brew/pull/37#issuecomment-208840366)
* audit: update npm install check for Language::Node
* cleanup: remove npm_cache too
* doc: add Node-for-Formula-Authors.md
|
|
|