4620 Commits

Author SHA1 Message Date
Jack Nagel
0c51cf1245 Use predefined options for universal, cxx11, and 32-bit options
:universal and :cxx11 are now handled directly, so we don't need to
always convert symbols to strings in this method. Symbols should be
reserved for future use.
2014-08-07 10:45:32 -05:00
Jack Nagel
acc1c35f35 Raise ArgumentError for argument errors 2014-08-07 00:48:13 -05:00
Jack Nagel
20452f3edc Add more test coverage for option descriptions 2014-08-07 00:48:13 -05:00
Jack Nagel
fa88b9697c Add a test for cxx11 option special case 2014-08-07 00:03:32 -05:00
Jack Nagel
fccfddb510 Partially revert e1f97e2 to pass new test cases 2014-08-02 20:03:42 -05:00
Jack Nagel
142beddd7a Use polymorphism to simplify stdlib compatibility check 2014-08-02 19:29:59 -05:00
Jack Nagel
f4ae1c9e1b Hide the options data structure better 2014-07-31 19:59:09 -05:00
Jack Nagel
abdff27cd7 Make options available on the spec objects 2014-07-31 19:37:39 -05:00
Jack Nagel
b160cc9bb6 Handle tap file renames that remove a file from the formula directory 2014-07-31 15:58:03 -05:00
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