Commit Graph

338 Commits

Author SHA1 Message Date
Thiago Marcos P. Santos
ac4179e7de Use a pipe() to synchronize the server initialization
As the signals are intercepted by debuggers.
2015-06-18 15:48:39 +03:00
Thiago Marcos P. Santos
22acc2f14c Remove cleanup call on the ResourceLoading test case
We should not be able to create GL objects with a no-op view, so
there is nothing to cleanup.
2015-06-18 14:00:46 +03:00
Thiago Marcos P. Santos
4623baa1a5 Add tests for renderStill() misuse 2015-06-16 14:09:51 +03:00
Jason Wray
e75e538ddb Add location tests for iOS
- Adds testDelegatesStartStopLocatingUser: Tests mapViewWillStartLocatingUser and mapViewDidStopLocatingUser delegate methods
- Adds testUserTrackingModeFollow
- Adds testUserTrackingModeFollowWithHeading (disabled because of library bug)

Fakes user location via swizzled CLLocationManager and hard-coded mock coordinates and heading.
2015-06-15 16:42:32 -07:00
Ansis Brammanis
7dc880080e update test suite to reenable symbol tests 2015-06-11 18:48:07 -04:00
Konstantin Käfer
f85889dc75 allow constructing LatLng/LatLngBounds objects from TileIDs 2015-06-08 16:13:37 -04:00
Thiago Marcos P. Santos
14083700e5 Test Map object destruction with pending requests
Test whenever destroying a Map object with requests pending
works and is done quickly.

The test injects artificial delays in selected requests and
tries to destroy the Map object afterwards.

Currently glyph requests are skipped because there is a bug
being worked on in a different issue.
2015-06-04 14:44:34 +03:00
Thiago Marcos P. Santos
b09df7acb5 Cleanup the MapContext before the util::Thread destructor
The util::Thread will call the stop() method of the MapContext's RunLoop
which will wait for the pending tasks tied to it to complete.

If we have a request that is timeout'ing, this could mean a really long
wait. Instead, we now send a cleanup message that will reset all the
attributes first (canceling the pending requests) so the the MapContext
gets destructed quickly.
2015-06-04 14:44:34 +03:00
Ansis Brammanis
9c03b396c0 Merge remote-tracking branch 'origin/master' into HEAD
Conflicts:
	src/mbgl/renderer/painter_fill.cpp
2015-06-03 19:20:41 -04:00
Thiago Marcos P. Santos
d7465061f8 Do not call update() asynchronously on the test case
We need to call it before checking if the tiles are loaded
to give the Source a chance to request for more tiles if
it is needed.
2015-06-02 20:43:29 +03:00
Thiago Marcos P. Santos
5c4c6648d1 Rebase the resource loading tests
Update the ResourceLoader tests to reflect the changes
after we merged ResourceLoader with Style.
2015-06-02 20:43:00 +03:00
Ansis Brammanis
956ad85d26 update test suite 2015-06-02 11:33:03 -04:00
John Firebaugh
ec06bb7e3c Merge ResourceLoader into Style and move atlas ownership 2015-06-01 13:22:02 -07:00
Jason Wray
10990475b9 Adapt metrics tests to constant flush timer
Disables three tests:

- testTimerFiresFlush: passes but takes 60 seconds (full MGLFlushInterval)
- testFlushPostsEvents: fails
- testPostEventsNetworkRequest: fails
2015-05-28 17:08:18 -07:00
Ansis Brammanis
ff6a5ce5bc Merge remote-tracking branch 'origin/master' into new-labelling
Conflicts:
	src/mbgl/map/source.cpp
	src/mbgl/map/source.hpp
	src/mbgl/map/tile_data.cpp
	src/mbgl/map/tile_parser.cpp
	src/mbgl/map/vector_tile_data.cpp
	src/mbgl/renderer/painter.cpp
	src/mbgl/renderer/symbol_bucket.cpp
	src/mbgl/text/glyph.hpp
	src/mbgl/text/glyph_store.cpp
	src/mbgl/text/placement.cpp
	test/suite
2015-05-28 20:01:15 -04:00
Ansis Brammanis
1e044a175c Reparse tiles when zoom level > source maxzoom
so that layout property functions are applied correctly
and so that label placement is redone

js:
https://github.com/mapbox/mapbox-gl-js/pull/1005
and
440bc02505
2015-05-28 19:17:07 -04:00
Thiago Marcos P. Santos
379d7830d9 Add tests for handling corrupted data
The MockFileSource will insert garbage on the reply and report as
a request done successfully. The network stack cannot detect this
kind of errors but the consumer should report it like we do for
network problems.
2015-05-28 09:43:56 +03:00
Konstantin Käfer
f4707f72e0 Replace mbgl::util::make_unique<> with std::make_unique<> 2015-05-26 17:57:38 +02:00
Thiago Marcos P. Santos
a20b89e4ff Merge pull request #1627 from mapbox/hide_logs
Add check for log messages on ResourceLoader tests
2015-05-22 18:00:07 +03:00
Thiago Marcos P. Santos
733539e36a Add check for log messages on ResourceLoader tests
This will make the tests less verbose and at the same
time make sure we are logging properly.
2015-05-22 17:24:38 +03:00
Thiago Marcos P. Santos
eaf1c24cdc Do not call abandon texture if there is no texture
Check if the texture was created before abandoning on SpriteAtlas
destructor. Linux driver was fine with that, but was crashing on Mac.
2015-05-22 15:21:39 +03:00
Thiago Marcos P. Santos
6624dbb225 Add ResourceLoader unit tests
This first test will simulate a request failure on every resource
directly or indirectly loaded by the ResourceLoader. The idea is
to verify whenever we are failing gracefully or not.
2015-05-22 10:44:18 +03:00
Thiago Marcos P. Santos
6ef6591a52 Add MockFileSource and MockView for testing the ResourceLoader
- MockFileSource
  Will load pre-defined resources from the filesystem. It supports
  passing a string, that when it matches an URL, will simulate a failure.

- MockView
  It is just a no-op to not get in the way when testing
  resource loading.

Few more additions:

- style.json
  Specially crafted style that will look always for the same tile,
  glyph range, etc at the "test/fixtures/resources/" path. No matter
  where you look (or at what zoom), you always get the same stuff.

- vector.pbf
  This taken from a part of Taipei that will request several glyph
  ranges.
2015-05-22 10:44:18 +03:00
Thiago Marcos P. Santos
da81211fea Add callback for error notifications on renderStill()
The callback will be called when any of the resources requested
from the network failed to load.

There is not recovery implemented yet, so the closest thing to
reseting the Map object and reloading all the resources would
be setting a new style.
2015-05-22 10:44:18 +03:00
John Firebaugh
b304b20073 Add Thread tests; get argument transfer working for all cases 2015-05-21 19:57:28 -07:00
Jason Wray
a898ec02b0 Change LaunchScreen text to © because unicode is awesome 2015-05-21 15:10:54 -07:00
Jason Wray
9c309808bd Add iOS test project launch images for older devices, too 2015-05-21 14:59:43 -07:00
Jason Wray
ddc8d63730 Add iOS tests support for iPhone 6/6+ screen sizes 2015-05-21 14:34:04 -07:00
Jason Wray
dfd6ff00a2 Update tests for access token changes 2015-05-21 03:13:55 -07:00
John Firebaugh
bd4fca2ec3 Update test suite 2015-05-19 11:28:00 -07:00
Konstantin Käfer
d7bd429619 bump test suite 2015-05-19 17:56:20 +02:00
Ansis Brammanis
7abd7950c9 Merge branch 'master' into new-labelling
Conflicts:
	src/mbgl/map/tile_parser.cpp
	src/mbgl/map/tile_parser.hpp
	src/mbgl/renderer/painter.hpp
	src/mbgl/renderer/painter_symbol.cpp
	src/mbgl/renderer/symbol_bucket.cpp
	src/mbgl/renderer/symbol_bucket.hpp
	src/mbgl/text/collision.cpp
	src/mbgl/text/collision.hpp
	src/mbgl/text/placement.cpp
2015-05-19 11:09:33 -04:00
Minh Nguyễn
2c7d0567fa Privatized MGLMapboxEvents
`-pauseMetricsCollection` and `-resumeMetricsCollection` were originally introduced to mitigate concerns around battery usage, but `MGLMapboxEvents` has since evolved to tread much lighter on the battery. There’s no longer any need for the client to call these methods directly. The iOS test project now includes MGLMapboxEvents.h explicitly to avoid having to package a header that will go unused.
2015-05-18 11:55:54 -07:00
John Firebaugh
83a5aae6c5 Render translucent background layers (fixes #1514) 2015-05-15 12:17:32 -07:00
Thiago Marcos P. Santos
d0b2db3826 Removed unneeded unique_ptr 2015-05-15 16:49:02 +03:00
Thiago Marcos P. Santos
b162fb7c6f Make the MapContext object run on its own thread on the tests
The MapContext can only run on its own thread because it is
registering a EnvironmentScope and it is making many assertions
on Debug mode if its methods are being called on the Map thread.
2015-05-15 13:06:23 +03:00
Thiago Marcos P. Santos
4b061a0588 Add output of RepeatedRender test to .gitignore
Also delete files that are test output but were checked in.
2015-05-15 12:34:57 +03:00
John Firebaugh
c1d004b8fb Restore sprite load check
This is necessary to ensure that background and fill images are ready
to render.

Fixes #1563
2015-05-14 18:15:54 -07:00
John Firebaugh
5aa5976a71 Speculative fix for PNG alpha/gamma handling
The libpng documentation is hopelessly impenetrable and I have no idea
what I'm doing, but this seems to fix the headless rendering failures.
2015-05-14 18:02:15 -07:00
John Firebaugh
d1107fb4ed Fix misleading headless test output (fixes #1557) 2015-05-14 13:03:12 -07:00
John Firebaugh
9cd749b55a Update test suite 2015-05-13 18:51:25 -07:00
Konstantin Käfer
37a34d4287 update test suite and fail Travis when comparisons fail 2015-05-13 17:19:53 -07:00
John Firebaugh
386be7c0fa Remove unused
There are no longer any requests made that don't have a run loop to
dispatch back to.
2015-05-13 13:54:16 -07:00
Konstantin Käfer
40b604448f add BinPack test 2015-05-12 20:46:56 -07:00
Justin R. Miller
1c8d3c5e42 patch up test project 2015-05-12 17:14:29 -07:00
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