711 Commits

Author SHA1 Message Date
Jack Nagel
fd86e6d636 Remove confusing implicit options handling
This code is supposed to allow

  depends_on "foo" => "with-bar"

to work when foo has only a "without-bar" option.

The options system was not designed to support this. Unfortunately, it
was bolted on anyway. The implementation is extremely difficult to
understand, and it only works for certain types of options, which is
confusing from a user's point of view. Luckily, no formulae in core or
the official taps rely on the behavior in order to function.

It is hindering progress in improving this code, so I am removing it.
2014-07-30 21:46:22 -05:00
Jack Nagel
0a605cbf8b Simplify BuildOptions copy tests 2014-07-30 20:15:18 -05:00
Jack Nagel
bc937f56e7 Rename resource? to resource_defined? 2014-07-30 18:56:37 -05:00
Jack Nagel
a55e196f5f Simplify internal representation of patches
- remove support for IO objects, since we no longer access ::DATA
   directly
 - since we don't need to support IO objects, use a separate class for
   string patches and stop wrapping strings in StringIO ojects
2014-07-29 16:22:06 -05:00
Jack Nagel
3f12ddbccd Decouple DATA patches from the executing script 2014-07-29 16:22:06 -05:00
Jack Nagel
e0c9717717 Store test patches in constants 2014-07-29 16:06:06 -05:00
Mike McQuaid
2013d153e5 Add test 1x1 images for formula test fixtures.
images
2014-07-28 19:36:08 +02:00
Jack Nagel
5b8e564d70 Add test for reporting tap updates 2014-07-26 20:11:53 -05:00
Jack Nagel
908d7bdecf Clean up updater tests 2014-07-26 20:11:53 -05:00
Jack Nagel
2b90995c3e Only populate the report with formula paths 2014-07-26 20:11:53 -05:00
Jack Nagel
802775078c Separate reading and parsing the diff 2014-07-26 20:11:53 -05:00
Jack Nagel
6baf357f8c update: remove unused rename detection
Right now this code only produces false positives. When we have real
support for renames, we can implement it more carefully.

Closes Homebrew/homebrew#31126.
2014-07-25 12:28:05 -05:00
Jack Nagel
2cf116464d update: simplify diff parsing 2014-07-25 12:25:58 -05:00
Jack Nagel
6f02314cba Add a factory method that accepts a formula object 2014-07-18 15:15:12 -05:00
Jack Nagel
49a97c280a Ask the filename object for the prefix 2014-07-18 15:15:12 -05:00
Jack Nagel
a87d2108ea Move bottle filename construction to a class 2014-07-18 15:14:57 -05:00
Jack Nagel
4295e76d3f Remove more dead code 2014-07-16 23:22:04 -05:00
Jack Nagel
28f0e5c4fd Don't raise when converting the tag to a version fails 2014-07-16 21:11:48 -05:00
Jack Nagel
596f3ba0a0 Raise ArgumentError when a symbol can't be mapped to a version
The fact that this is implemented as a hash lookup is an implementation
detail, so don't let the KeyError bubble up.
2014-07-16 21:11:48 -05:00
Jack Nagel
a554b5c9b7 Rename test 2014-07-16 21:11:48 -05:00
Jack Nagel
197dbe5601 Remove dead code
Formula objects are always constructed with an explicit name, so we no
longer need to special case an empty name or the name "__UNKNOWN__".
2014-07-16 18:30:52 -05:00
Jack Nagel
33eed80ccc Rename fetch_bottle_for to fetch_checksum_for 2014-07-16 14:52:18 -05:00
Jack Nagel
68326805ae Implement []= on BottleCollector 2014-07-15 21:55:14 -05:00
Jack Nagel
26f4a78825 No need to set the URL for dependency test 2014-07-15 20:18:25 -05:00
Jack Nagel
771bc2978c Eagerly set the download strategy 2014-07-15 13:42:03 -05:00
Jack Nagel
74ae43c690 Use accessor method in test 2014-07-13 13:07:36 -05:00
Jack Nagel
1eafe3bc35 Handle conflicts where links point at symlinks
Fixes Homebrew/homebrew#30664.
2014-07-12 19:56:58 -05:00
Jack Nagel
7b26c885bd Always link symlinks directly 2014-07-12 19:56:58 -05:00
Jack Nagel
3b7c5af431 Add test for InstallRenamed module 2014-07-11 19:01:55 -05:00
Jack Nagel
c259866517 Raise Errno::ENOENT instead of RuntimeError from Pathname#install 2014-07-10 22:00:43 -05:00
Jack Nagel
126d2133ab Fix method signature 2014-07-10 12:42:54 -05:00
Jack Nagel
7ee49db51e Remove proc handling from BuildEnvironment 2014-07-07 22:02:32 -05:00
Jack Nagel
d4602b1711 Eliminate some indirection in evaluating requirement env blocks 2014-07-07 22:01:52 -05:00
Jack Nagel
9822faa56a Simplify BuildEnvironmentDSL test setup 2014-07-07 21:00:38 -05:00
Jack Nagel
6664ec23dc Merge should return self 2014-07-07 20:03:41 -05:00
Jack Nagel
3e326b79fe Dependency initializer takes an array 2014-07-07 19:21:39 -05:00
Jack Nagel
48c14ee736 Fix BuildEnvironment marshalling test 2014-07-07 17:48:01 -05:00
Jack Nagel
0f54f7f072 Don't need mocks here 2014-07-07 17:36:20 -05:00
Jack Nagel
879ec96743 Only store one proc per BuildEnvironment instance 2014-07-07 17:36:20 -05:00
Jack Nagel
b4fd54ae92 Close duped output streams before returning 2014-07-06 15:03:38 -05:00
Jack Nagel
ad27b21cd1 Add popen wrapper that does not invoke the shell 2014-07-05 13:50:54 -05:00
Jack Nagel
f666b76c39 Add more tests documenting linking behavior 2014-07-03 23:27:54 -05:00
Jack Nagel
60fc7eb0ed Avoid chdir just to make a symlink 2014-07-03 23:27:54 -05:00
Jack Nagel
083448d55d Move repeated pathname into setup 2014-07-03 23:27:54 -05:00
Jack Nagel
9e19db0dd6 Don't assign @keg twice in setup 2014-07-03 23:27:53 -05:00
Jack Nagel
4acf25a2b9 No need to silence output from Keg#link anymore 2014-07-03 23:27:53 -05:00
Jack Nagel
aad09a5a63 Option does not need to be Comparable 2014-07-03 19:29:18 -05:00
Jack Nagel
7d8a901f7a Add assert_eql to provide better failure messages for eql? tests 2014-07-03 16:55:13 -05:00
Jack Nagel
1ee4cd94ba Fix PkgVersion#<=> 2014-07-03 16:37:43 -05:00
Jack Nagel
b78308d2d5 Fix Formula#<=> on trunk Ruby
Arguably this method shouldn't exist and sort_by(&:name) used instead.
2014-07-03 15:00:41 -05:00