mapbox/mapbox-gl-native — pull request #371 by jfirebaugh (2014-07-21 16:57:45+00:00)
Title: Use mapbox-gl-test-suite

Currently hard-failing on:

```
WARNING: ThreadSanitizer: data race (pid=15183)
Write of size 8 at 0x7d28000a3e58 by thread T10:
#0 mbgl::Sprite::parseJSON(std::shared_ptr&) ??:0 (exe+0x000000213858)
#1 uv::work >::do_work(uv_work_s*) ??:0 (exe+0x0000002150de)
#2 worker src/unix/threadpool.c:0 (exe+0x0000002e98aa)
Previous read of size 8 at 0x7d28000a3e58 by main thread:
#0 mbgl::Sprite::complete(std::shared_ptr&) ??:0 (exe+0x000000211f32)
#1 uv::work >::after_work(uv_work_s*, int) ??:0 (exe+0x000000215129)
#2 uv__work_done ??:0 (exe+0x0000002e95e8)
#3 HeadlessTest_render_Test::TestBody() ??:0 (exe+0x00000013087f)
#4 void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) ??:0 (exe+0x0000001931a4)
#5 testing::Test::Run() ??:0 (exe+0x000000158d15)
#6 testing::TestInfo::Run() ??:0 (exe+0x00000015af00)
#7 testing::TestCase::Run() ??:0 (exe+0x00000015bc87)
#8 testing::internal::UnitTestImpl::RunAllTests() ??:0 (exe+0x00000016ec20)
#9 bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ??:0 (exe+0x0000001945d4)
#10 testing::UnitTest::Run() ??:0 (exe+0x00000016e239)
#11 main ??:0 (exe+0x00000012d07f)
Location is heap block of size 160 at 0x7d28000a3de0 allocated by main thread:
#0 operator new /home/users/aadgrand/LLVM/releases/ubuntu/final/llvm.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:560 (exe+0x0000000ce9b9)
#1 _ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN4mbgl6SpriteESaIS5_EJRNS4_3MapEfEEESt19_Sp_make_shared_tagPT_RKT0_DpOT1_ ??:0 (exe+0x0000001ab586)
#2 _ZNSt12__shared_ptrIN4mbgl6SpriteELN9__gnu_cxx12_Lock_policyE2EEC2ISaIS1_EJRNS0_3MapEfEEESt19_Sp_make_shared_tagRKT_DpOT0_ ??:0 (exe+0x0000001ab3d8)
#3 mbgl::Map::prepare() ??:0 (exe+0x0000001a3c0a)
#4 mbgl::Map::run() ??:0 (exe+0x0000001a39d2)
#5 HeadlessTest_render_Test::TestBody() ??:0 (exe+0x00000013087f)
#6 void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) ??:0 (exe+0x0000001931a4)
#7 testing::Test::Run() ??:0 (exe+0x000000158d15)
#8 testing::TestInfo::Run() ??:0 (exe+0x00000015af00)
#9 testing::TestCase::Run() ??:0 (exe+0x00000015bc87)
#10 testing::internal::UnitTestImpl::RunAllTests() ??:0 (exe+0x00000016ec20)
#11 bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ??:0 (exe+0x0000001945d4)
#12 testing::UnitTest::Run() ??:0 (exe+0x00000016e239)
#13 main ??:0 (exe+0x00000012d07f)
Thread T10 (tid=15194, running) created by main thread at:
#0 pthread_create /home/users/aadgrand/LLVM/releases/ubuntu/final/llvm.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:877 (exe+0x0000000d266b)
#1 uv_thread_create ??:0 (exe+0x0000002e0432)
#2 uv_once ??:0 (exe+0x0000002e8f45)
#3 mbgl::TileData::reparse() ??:0 (exe+0x00000021775c)
#4 std::_Function_handler::_M_invoke(std::_Any_data const&, mbgl::platform::Response*) ../../src/map/tile_data.cpp:0 (exe+0x000000217c24)
#5 mbgl::platform::Request::complete(uv_async_s*) ??:0 (exe+0x0000001a0f4d)
#6 uv__async_event src/unix/async.c:0 (exe+0x0000002e08c3)
#7 HeadlessTest_render_Test::TestBody() ??:0 (exe+0x00000013087f)
#8 void testing::internal::HandleExceptionsInMethodIfSupported(testing::Test*, void (testing::Test::*)(), char const*) ??:0 (exe+0x0000001931a4)
#9 testing::Test::Run() ??:0 (exe+0x000000158d15)
#10 testing::TestInfo::Run() ??:0 (exe+0x00000015af00)
#11 testing::TestCase::Run() ??:0 (exe+0x00000015bc87)
#12 testing::internal::UnitTestImpl::RunAllTests() ??:0 (exe+0x00000016ec20)
#13 bool testing::internal::HandleExceptionsInMethodIfSupported(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ??:0 (exe+0x0000001945d4)
#14 testing::UnitTest::Run() ??:0 (exe+0x00000016e239)
#15 main ??:0 (exe+0x00000012d07f)
SUMMARY: ThreadSanitizer: data race ??:0 mbgl::Sprite::parseJSON(std::shared_ptr&)
```