diff options
| author | Jack Nagel | 2014-09-28 01:08:31 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-09-28 01:11:31 -0500 |
| commit | 395d133bde8bf1820fe7cdbcddd5f9ccbbff7ec2 (patch) | |
| tree | f4eb455092d8e2829b5c34501e7ed406be4c3447 /Library/Homebrew/extend/string.rb | |
| parent | 1c991be5be770a4bfd1b27cbd511cf76017e87a9 (diff) | |
| download | homebrew-395d133bde8bf1820fe7cdbcddd5f9ccbbff7ec2.tar.bz2 | |
Make inreplace errors fatal
Closes #32649.
Closes #32703.
Diffstat (limited to 'Library/Homebrew/extend/string.rb')
| -rw-r--r-- | Library/Homebrew/extend/string.rb | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb index d85e029f3..c921a2a7d 100644 --- a/Library/Homebrew/extend/string.rb +++ b/Library/Homebrew/extend/string.rb @@ -56,10 +56,16 @@ end # used by the inreplace function (in utils.rb) module StringInreplaceExtension + attr_accessor :errors + + def self.extended(str) + str.errors = [] + end + def sub! before, after result = super unless result - opoo "inreplace: replacement of '#{before}' with '#{after}' failed" + errors << "expected replacement of #{before.inspect} with #{after.inspect}" end result end @@ -68,7 +74,7 @@ module StringInreplaceExtension def gsub! before, after, audit_result=true result = super(before, after) if audit_result && result.nil? - opoo "inreplace: replacement of '#{before}' with '#{after}' failed" + errors << "expected replacement of #{before.inspect} with #{after.inspect}" end result end @@ -76,9 +82,8 @@ module StringInreplaceExtension # Looks for Makefile style variable defintions and replaces the # value with "new_value", or removes the definition entirely. def change_make_var! flag, new_value - new_value = "#{flag}=#{new_value}" - unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, new_value, false) - opoo "inreplace: changing '#{flag}' to '#{new_value}' failed" + unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, "#{flag}=#{new_value}", false) + errors << "expected to change #{flag.inspect} to #{new_value.inspect}" end end @@ -87,7 +92,7 @@ module StringInreplaceExtension Array(flags).each do |flag| # Also remove trailing \n, if present. unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=.*$\n?/, "", false) - opoo "inreplace: removing '#{flag}' failed" + errors << "expected to remove #{flag.inspect}" end end end |
