94 Commits

Author SHA1 Message Date
Xu Cheng
a9e71ca905 test_formula: add more test 2015-07-31 19:44:03 +08:00
Baptiste Fontaine
ca1f5dc713 more unit tests
Closes Homebrew/homebrew#42096.

Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
2015-07-25 00:00:30 +02:00
Xu Cheng
3a3a49bd93 add Formulary.core_path method, deprecate Formula.path 2015-05-27 13:53:40 +08:00
Jack Nagel
f0eca11d6b Revert "Use real repo to run tests"
This reverts commit 5aaf13c6cf784cb4be62932b3e528e8f93580a65.
2015-04-20 22:33:25 -04:00
Jack Nagel
6278e08aec Use real repo to run tests 2015-04-20 21:00:26 -04:00
Jack Nagel
47aae82d33 Remove bad test 2015-04-18 15:20:58 -04:00
Jack Nagel
cc92f491c8 Fix test formula name so it matches the filename 2015-04-15 21:28:23 -04:00
Jack Nagel
e651e7662a Use formula helper in tests 2014-12-28 21:56:06 -05:00
Jack Nagel
7f29dc13b8 Drop pointless subclass in test 2014-12-28 00:03:16 -05:00
Jack Nagel
3c9bee268b Preserve signature of #initialize in tests 2014-12-27 23:11:32 -05:00
Jack Nagel
1ee1e2ca3c Stop testing accessor type 2014-12-27 16:31:38 -05:00
Jack Nagel
728a7c6259 Remove dead code 2014-12-27 16:31:32 -05:00
Jack Nagel
051658db65 Remove unnecessary require from test 2014-12-26 16:45:07 -05:00
Jack Nagel
d63ba368ef Normalize requires in tests 2014-11-07 17:03:51 -06:00
Jack Nagel
1a487fa2b3 Add predicate methods for specs and stop testing internals 2014-10-29 23:32:38 -05:00
Jack Nagel
f306e56d21 Add a test for legacy options 2014-08-10 16:47:34 -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
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
Jack Nagel
9106f221cb Add regression test for decf7acced44bb156ba18677f55609b19ff6ca5a 2014-07-02 15:22:32 -05:00
Jack Nagel
f25f6fbb39 Fix directory leaks in formula prefix tests 2014-06-23 22:11:40 -05:00
Jack Nagel
4d9d01893e Move deprecated Formula class methods to compat
These have all been moved to Formulary.
2014-06-22 15:03:17 -05:00
Jack Nagel
10fda9e9b9 Decouple spec selection from ARGV 2014-06-20 21:32:36 -05:00
Jack Nagel
5beaa512e6 Pass the requested spec into the formula instance 2014-06-20 21:32:36 -05:00
Jack Nagel
58a75b0f71 Use assert_predicate 2014-06-18 20:34:09 -05:00
Jack Nagel
06305e6211 Switch to Minitest 2014-06-18 20:34:09 -05:00
Jack Nagel
89d74ec475 Move test helpers into Homebrew::TestCase 2014-06-18 20:32:51 -05:00
Jack Nagel
982e9239b8 Use a custom test class so we can avoid monkeypatching 2014-06-18 20:32:51 -05:00
Jack Nagel
3f3ba8462e Always expand __FILE__ 2014-06-12 18:14:48 -05:00
Jack Nagel
8c2db70cf8 Always pass a path to formula constructor in tests 2014-06-12 17:58:12 -05:00
Jack Nagel
9a554f5f4b Use example.com as domain in tests 2014-06-12 17:58:12 -05:00
Jack Nagel
4f476d7066 Remove dummy method 2014-06-12 17:58:12 -05:00
Jack Nagel
801cdd9045 Remove default values from formula constructor parameters
Closes Homebrew/homebrew#30017.
2014-06-10 15:41:45 -05:00
Jack Nagel
3c9523516b Clean up some test assertions 2014-06-04 16:31:57 -05:00
Jack Nagel
27e3ab781c Clean up test classes 2014-04-06 15:55:25 -05:00
Jack Nagel
7da459874f Make bottle implementation more generic 2014-03-10 14:56:02 -05:00
Jack Nagel
6008187d5f Encode formula revision in installation prefix
In order to allow kegs built with the same version but differing formula
revisions to coexist, we must encode the revision as part of the keg's
name. This is necessary to actually perform an upgrade, as we cannot
upgrade a keg in-place, and temporarily moving it pending the result of
the upgrade is error-prone and potentially slow.

To accomplish this, we introduce a new Formula#pkg_version method that
concatenates the active_spec version with the formula revision. An
exception is made for a formula that has no revision: the tag is
omitted. This preserves compatibility with existing installations.
2014-03-05 20:12:51 -06:00
Jack Nagel
e3e14a0cdf Eliminate nil check on path parameter 2014-02-21 20:07:41 -05:00
Jack Nagel
41a9ba8259 Move Formula.class_s to Formulary 2014-02-21 00:46:03 -05:00
Jack Nagel
fb350bad0f Remove downloader from Formula 2014-02-21 00:41:07 -05:00
Jack Nagel
662560e40d Remove test with too much implementation knowledge 2014-02-21 00:41:07 -05:00
Mike McQuaid
d7c13f84b6 Update string references to mxcl/homebrew. 2013-12-14 18:18:35 +00:00
Jack Nagel
5c18054341 Simplify prefix test 2013-12-11 19:18:23 -06:00
Jack Nagel
291cdea687 Extract constants for checkums in tests 2013-12-09 15:57:50 -06:00
Mike McQuaid
d9d2443d5d Cleanup use of some global constants. 2013-10-30 13:20:48 -07:00
Mike McQuaid
0296ffa0ef test_formula: add Mavericks bottles. 2013-10-23 22:15:28 +01:00
Mike McQuaid
0c332a23a2 test_formula: use different/consistent SHA-1. 2013-10-23 22:15:28 +01:00
Jack Nagel
63e1c71c50 Eagerly initialize formula specs
Declarations of dependencies, options, and resources in the DSL only
apply to specs that have already been initialized. For example, given
this snippet:

  url ...
  sha1 ...

  depends_on 'foo'

  devel do
    url ...
    sha1 ...
  end

The dependency 'foo' will be recorded for the stable spec, but not the
devel spec, since it was not initialized prior to the call to
depends_on.

While it is considered best practice to declare all specs (stable,
devel, head, and bottle) prior to other declarations, there is nothing
that enforces this ordering, so when it happens it can be confusing and
hard to debug.

To prevent this, we can initialize all specs up front. This comes with
a performance penalty for commands that load all formulae into memory,
but that is probably outweighed by what we gain in correctness.

Fixes Homebrew/homebrew#23425.
2013-10-22 13:31:08 -05:00
Jack Nagel
50c7c6bbd6 Check types in Formula#==
Comparing two objects should not raise an exception, even if they have
different types.

The semantics of #== are now the same as #eql?, so make one an alias.
2013-10-04 21:19:15 -05:00
Jack Nagel
5511a8b3f5 Move dependencies to SoftwareSpec 2013-09-21 19:27:24 -05:00
Jack Nagel
adceeb52f6 Stop exposing the download strategy from Formula 2013-09-13 22:33:46 -05:00