From e415a1351bf3e7eff0a33574400fa89c0941d9bf Mon Sep 17 00:00:00 2001 From: "Scott J. Goldman" Date: Fri, 31 Aug 2012 22:47:19 -0700 Subject: When testing if a blob is indexable, check size first Otherwise, charlock_holmes will allocate another large binary buffer for testing the encoding, which is a problem if the binary blob is many hundreds of MB large. It'll just fail and crash ruby. --- test/test_blob.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test') diff --git a/test/test_blob.rb b/test/test_blob.rb index 0832b8f..17e9ef8 100644 --- a/test/test_blob.rb +++ b/test/test_blob.rb @@ -2,6 +2,7 @@ require 'linguist/file_blob' require 'linguist/samples' require 'test/unit' +require 'mocha' require 'mime/types' require 'pygments' @@ -261,6 +262,12 @@ class TestBlob < Test::Unit::TestCase assert !blob("Text/dump.sql").indexable? assert !blob("Binary/github.po").indexable? assert !blob("Binary/linguist.gem").indexable? + + # large binary blobs should fail on size check first, not call + # into charlock_holmes and alloc big buffers for testing encoding + b = blob("Binary/octocat.ai") + b.expects(:binary?).never + assert !b.indexable? end def test_language -- cgit v1.2.3