Commit Graph

290 Commits

Author SHA1 Message Date
Justin R. Miller
44835707a2 update test app to use fake in-app settings 2015-05-12 13:53:54 -07:00
Justin R. Miller
1ad640f5b7 iOS metrics tests 2015-05-12 13:49:03 -07:00
Brad Leege
d4fcb5bb98 Merge pull request #1469 from mapbox/1435-android-gl-crash
Android GL Crash
2015-05-11 11:42:21 -05:00
Leith Bade
703e0bc2ee Ignore deactivate when no valid EGL display. Fixes #1435
Initialise NativeMapView's EGL variables before Map

Fix hang

Add check for double pause

Add test for double pause
2015-05-09 12:02:39 +10:00
Konstantin Käfer
24ea920810 ignore Transform changes with NaN parameters 2015-05-08 20:25:47 +02:00
John Firebaugh
1cf5af9c31 Merge remote-tracking branch 'origin/1369-alternate-fix' 2015-05-08 11:20:10 -07:00
Konstantin Käfer
8ee40a544e make WorkRequests cancelable 2015-05-08 16:43:18 +02:00
Konstantin Käfer
e20faf7a8d add worker cancellation test (failing) 2015-05-08 16:43:18 +02:00
Konstantin Käfer
fb984a22d1 don't trigger a HTTP request twice 2015-05-08 11:30:26 +02:00
Minh Nguyễn
53586f89b3 Added tests for 6292e95f80 2015-05-07 11:05:05 -07:00
John Firebaugh
5b4015ccba Reference safety for Worker after callbacks
Joining a WorkRequest now ensures that either the after callback has
already been executed, or will never be executed.

Fixes #1438
2015-05-06 14:30:02 -07:00
Justin R. Miller
1e8a480e1b clear location services prompt if needed 2015-05-05 16:33:12 -07:00
John Firebaugh
af0e52a5fa Revert test/suite submodule to intended hash 2015-05-05 14:49:43 -07:00
John Firebaugh
84fffb42f5 Revert "Disable headless tests temporarily"
This reverts commit 2b6e680e4a.
2015-05-05 14:13:46 -07:00
John Firebaugh
a7df0781f8 Don't crash if ResourceLoader::_sprite is null 2015-05-05 13:34:46 -07:00
John Firebaugh
5475f3138b Fix potential crash
The promise could be deallocated before promise.set_value() had returned,
which apparently caused an invalid read on some implementations.

By moving the promise declaration up the stack, we ensure that the map is
deallocated first, and therefore the map thread is joined, before the
promise is deallocated.
2015-05-01 18:25:41 -04:00
John Firebaugh
36f695b411 Write SQLite tests in terms of Impl 2015-05-01 14:31:39 -04:00
Brad Leege
6811e7c39d #1381 - Setting desiredAccuracy to 3KM 2015-04-30 11:58:31 -04:00
John Firebaugh
2b6e680e4a Disable headless tests temporarily 2015-04-30 09:58:31 -04:00
John Firebaugh
230027e514 Resize view from map thread 2015-04-28 14:32:24 -04:00
John Firebaugh
a625ba8a09 Remove Map::start/stop
Both Android and iOS now use pause/resume. The map thread is
always running, and be able to receive messages. When paused,
it will just refuse to render.
2015-04-28 14:32:24 -04:00
John Firebaugh
c84e886222 Log each test subcase during headless tests 2015-04-28 14:32:24 -04:00
John Firebaugh
2ed207ca5e Update mapbox-gl-test-suite 2015-04-28 14:32:23 -04:00
John Firebaugh
6c7a01a503 Following kkaefer's view changes 2015-04-28 14:32:22 -04:00
John Firebaugh
7bd735220d Fix build 2015-04-28 14:32:21 -04:00
John Firebaugh
c0b75f1af7 Remove Environment::terminate and associated code
Fixes #1336
2015-04-28 09:16:26 -04:00
Konstantin Käfer
2b633cc51c build on Travis' sudo: false infrastructure 2015-04-28 10:43:13 +02:00
Minh Nguyễn
5ffa52cab5 Automatically find view controller for layout guides
Find the managing view controller by traversing the responder chain.
2015-04-27 15:52:30 -07:00
Minh Nguyễn
f9c544a9ea Reset map view frame on every test
To counteract the call to `-insetMapView` in `-testInsetMapView`.
2015-04-24 14:27:25 -07:00
Minh Nguyễn
1dc2cbc280 Test inset MGLMapView
Verify that the ornaments hug the `MGLMapView` when it’s smaller than the view controller’s root view.
2015-04-24 13:30:50 -07:00
Konstantin Käfer
0d5568f724 merge build targets so we only have one build file per platform
previously, we used multiple different projects for various targets (app, test, render) that overwrote each other, so it was impossible to have one project to build them all, one project to compile them, one project to run them all and in the darkness bind them
2015-04-24 11:50:50 +02:00
Justin R. Miller
b528d7cc03 fixes #830, #880: bring back iOS functional tests 2015-04-23 17:54:08 -07:00
John Firebaugh
55118e5bd7 Revert "build on trusty"
This reverts commit decc493ec8.

Conflicts:
	.mason
2015-04-22 14:07:05 -07:00
John Firebaugh
75af3db17d Use a promise rather than async dance 2015-04-20 17:01:27 -07:00
Konstantin Käfer
decc493ec8 build on trusty 2015-04-20 13:26:02 +02:00
Konstantin Käfer
71d127220b rename Mode::Static => Mode::Still 2015-04-17 17:55:24 +02:00
Konstantin Käfer
5d769f9b62 explicitly call .discard() to resize the view on static renders
- this is only a stopgap; we need to properly pass state between threads
- doesn't fix changing the pixel ratio
2015-04-17 13:40:42 +02:00
Konstantin Käfer
9af3f07e5b don't hide unchecked messages 2015-04-17 13:40:42 +02:00
Konstantin Käfer
1c920c4332 don't throw an exception in the map thread for bad styles 2015-04-17 13:40:42 +02:00
Konstantin Käfer
46bf226910 align static render mode and still image render mode
- static rendering now also runs in a separate thread; you have to start it with map.start(Map::Mode::Static) and join the thread with map.stop() before destructing the Map object
- map.renderStill() takes a callback with will be invoked on the *map* thread, so you'll have to figure out your own method of dispatching back to the main thread.
2015-04-17 13:40:42 +02:00
John Firebaugh
ac25d32a09 Convert storage tests to RunLoop 2015-04-15 20:38:26 -07:00
Konstantin Käfer
452d12e6e6 make implementation files private headers 2015-04-13 18:28:18 +02:00
Konstantin Käfer
16849a341b hide Thread<> and separate the Implementation object 2015-04-13 17:57:45 +02:00
Konstantin Käfer
4c7132337f convert DefaultFileSource to use util::Thread<> 2015-04-10 22:37:27 +02:00
Konstantin Käfer
bba3d9838a add Thread<T> and RunLoop
Thread<T> is a generic thread management object that starts a thread, creates an object T in that thread and calls its .start() function. When the Thread<T> object is destructed (which must happen in the thread that created it), it'll call the object's .stop() function, and wait for thread termination. The .stop() function must somehow get the thread to terminate. Note that object T's constructor/destructor/start()/stop() must be protected/private, and Thread<T> must be declared as a friend class. All public functions may be called from any thread and are exposed through operator->().

RunLoop encapsulates a libuv runloop and has a facility of dispatching function objects to the thread. It can be used either as a worker thread class by itself, or it can be derived from. This commit converts SQLiteCache to derive from RunLoop and removes the custom code used previously for managing the cache thread.
2015-04-10 15:36:32 +02:00
John Firebaugh
691756d7dd Move ClipID to clip_id.hpp/cpp 2015-04-09 10:58:11 -07:00
Konstantin Käfer
59bd300b43 use sqlite itself to lock the database file rather than those unportable bsd locks 2015-04-08 16:24:10 +02:00
Konstantin Käfer
4b66c490b4 guard against invalid database files 2015-04-08 14:55:47 +02:00
Konstantin Käfer
7d58a41de5 make sqlite storage more resilient to sporadic errors
- catch SQLite exceptions and report them
- failed statements are ignored, we're really just caching here, so if it fails we're handling it gracefully elsewhere
- handle cases where the database file goes away after we opened it
- handle cases where the schema wasn't created after the database file was opened successfully
- add tests
2015-04-07 18:04:23 +02:00
John Firebaugh
d8411f26d2 Tile::ID ⇢ TileID
This allows making both Tile and TileID private.
2015-04-06 13:58:56 -07:00