3482 Commits

Author SHA1 Message Date
Jack Nagel
65673d60c1 Move updater mock into test class namespace 2014-06-10 20:03:37 -05:00
Jack Nagel
d8f86f290b Use external interface in tests 2014-06-10 19:56:42 -05:00
Jack Nagel
cd4b801749 Simplify test setup 2014-06-10 19:44:46 -05:00
Jack Nagel
ba856de06e Remove rcov rake task
rcov is not compatible with Ruby 2.0.
2014-06-10 17:50:33 -05:00
Jack Nagel
b7a0602f72 Remove ruby-prof rake task
The areas that we are interested in optimizing for performance are
things that are invoked repeatedly, and are not evident in the test
suite.
2014-06-10 17:50:33 -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
83f2ee5aea Use RbConfig.ruby if it's available 2014-06-09 21:36:36 -05:00
Jack Nagel
13355c76ac Fix formula test helper parameters 2014-06-09 14:46:30 -05:00
Jack Nagel
3c9523516b Clean up some test assertions 2014-06-04 16:31:57 -05:00
Jack Nagel
9821316ec1 Remove unused method and associated test fixtures 2014-05-28 18:48:38 -05:00
Jack Nagel
f446e95852 Remove support for version "schemes", just pass version objects directly
I'm not sure why I thought reinventing object instantiation was a good
idea.
2014-05-27 21:41:43 -05:00
Jack Nagel
105f77745c Add failing test for parsing version from erlang bottle filename 2014-05-26 21:30:46 -05:00
Mike McQuaid
6ef3bab4a3 bottle_version: support fontforge scheme. 2014-05-15 19:04:30 +01:00
Tsukasa OMOTO
d1f15e967b Taps: cleanup regexps around Taps
Closes Homebrew/homebrew#29139.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-05-14 11:12:51 -05:00
Mike McQuaid
2b9c350b27 bottle_version: handle zpython bottle.
Closes Homebrew/homebrew#28870.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-05-06 19:34:04 +01:00
Mike McQuaid
0ac11f8026 bottle_version: parse disco bottle versions. 2014-05-06 19:34:01 +01:00
Jack Nagel
d8c15c8fbf The \w character class already includes underscore
Newer versions of Ruby issue a warning for repeated character classes.
2014-05-03 15:03:22 -05:00
Baptiste Fontaine
74e4fdfce2 Fix for String#undent
Without it, String#undent would fail on unindented strings, e.g.:

    "foo".undent

NoMethodError: undefined method `length' for nil:NilClass`

Closes Homebrew/homebrew#28873.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2014-05-02 19:50:27 -07:00
Jack Nagel
953f6c1ead Remove test that doesn't add value 2014-04-29 09:22:17 -05:00
Jack Nagel
b40a3413e3 Pass around only absolute paths when dealing with taps 2014-04-25 18:36:31 -05:00
Tsukasa OMOTO
54004a4759 Make the on-disk representation of taps unambiguous
This commit supports "-" and "_" in names of user and repository.

Closes Homebrew/homebrew#28203.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2014-04-24 17:10:41 -05:00
Mike McQuaid
55d277c335 Support core GCC formula as a GCC compiler.
It is activated by the same mechanism as the Homebrew/versions compilers
which now check if the GCC formula uses the same, correct version.

References Homebrew/homebrew#28418.
2014-04-23 08:10:48 +01:00
Jack Nagel
c208afe226 Don't test jruby deps since it makes the tests slow 2014-04-21 12:48:15 -05:00
Jack Nagel
6b5e92ac47 Raise AlreadyLinkedError when a keg is already linked 2014-04-21 12:43:06 -05:00
Jack Nagel
727f204760 Raise useful errors from make_relative_symlink 2014-04-21 12:43:06 -05:00
Jack Nagel
434854cc69 Don't use assert_nothing_raised 2014-04-15 15:39:26 -05:00
Jack Nagel
46a11a2b26 Remove questionable test
This is already covered in test_mach.rb.
2014-04-15 15:39:10 -05:00
Mike McQuaid
f6c6d0f60e Add tests for new bottling hooks.
Closes Homebrew/homebrew#27890.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
2014-04-10 15:25:30 +01:00
Jack Nagel
27e3ab781c Clean up test classes 2014-04-06 15:55:25 -05:00
Jack Nagel
d22ad92a84 Remove special behavior of autotools symbol deps
Closes Homebrew/homebrew#28094.
2014-04-03 09:12:25 -05:00
Jack Nagel
f1601f6d8a Stop jumping through hoops to get at the collector object 2014-04-01 16:03:07 -05:00
Jack Nagel
a0851c1380 Assert that Keg#link produces relative symlinks 2014-03-27 09:59:54 -05:00
Jack Nagel
3e9a88c365 Assert that the broken symlink is actually overwritten 2014-03-27 09:59:54 -05:00
Jack Nagel
e9ee640024 Don't let broken symlinks halt linking 2014-03-27 09:35:10 -05:00
Mike McQuaid
e4f291084a bottle_version: handle pazpar2 style. 2014-03-24 09:56:14 +00:00
Jack Nagel
26fe9df9b2 Preserve permissions when using Pathname#atomic_write 2014-03-22 10:58:28 -05:00
Jack Nagel
45bdeadd94 Set bottle download strategy directly
We know what strategy we want, so going through DownloadStrategyDetector
is wasted work. Now we can remove those patterns from the detector and
have two fewer branches each time through.
2014-03-18 21:28:33 -05:00
Jack Nagel
aa7ed10968 Make relative symlinks in Pathname#install_symlink
Closes Homebrew/homebrew#27672.
2014-03-18 19:03:25 -05:00
Mike McQuaid
f115260a29 bottle_version: support lz4 style. 2014-03-17 10:35:53 +00:00
Jack Nagel
665b14c4a4 Enable new patch implementation with compatibility layer 2014-03-13 21:35:41 -05:00
Jack Nagel
bc6e4a1894 New patch implementation and DSL
This commit introduces a new patch implementation that supports
checksums and caching.

Patches are declared in blocks:

  patch do
    url ...
    sha1 ...
  end

A strip level of -p1 is assumed. It can be overridden using a symbol
argument:

  patch :p0 do
    url ...
    sha1 ...
  end

Patches can be declared in stable, devel, and head blocks. This form is
preferred over using conditionals.

  stable do
    # ...

    patch do
      url ...
      sha1 ...
    end
  end

Embedded (__END__) patches are declared like so:

  patch :DATA
  patch :p0, :DATA

Patches can also be embedded by passing a string. This makes it possible
to provide multiple embedded patches while making only some of them
conditional.

  patch :p0, "..."
2014-03-13 21:35:41 -05:00
Jack Nagel
ce5e2aa65c Make debug an installer mode 2014-03-13 15:59:54 -05:00
Jack Nagel
7da459874f Make bottle implementation more generic 2014-03-10 14:56:02 -05:00
Jack Nagel
9970c97c28 Clear dependency cache after each test 2014-03-09 12:38:19 -05:00
Jack Nagel
8bfcdf0bd8 Remove special X11 proxy deps 2014-03-05 20:45:44 -06: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
4bacc8bb13 Simplify test formula setup 2014-03-03 15:04:23 -06:00
Jack Nagel
c6bc01ab58 Add TapDependency 2014-02-28 11:16:55 -06:00
Jack Nagel
4928b4e02c Set owner ivar in SoftwareSpec 2014-02-27 14:50:22 -06:00
Jack Nagel
1981e78eb2 Eliminate mutation of Dependency objects 2014-02-27 14:22:43 -06:00