-
-
Notifications
You must be signed in to change notification settings - Fork 717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test-render
fails since migration to typescript
#326
Comments
maplibre-gl-js/test/suite_implementation.js Lines 158 to 164 in 75cddd8
|
I removed some of the "now" references. How come this started to fail when ci was green the entire time? Race condition? |
I think
This does not explain however why this did not fail before on windows. |
Weird... Let me know if you need my help trying to solve this... |
After a series of confusing GitHub workflow runs I came to the conclusion that |
The following test for example seems to fail in both 1.x and latest version. |
It is true that many render tests don't need a tile source. Others, like "sources": {
"satellite": {
"type": "raster",
"tiles": [
"local://tiles/{z}-{x}-{y}.satellite.png"
],
"maxzoom": 17,
"tileSize": 256
} Is this local source provided by the test harness? |
Are there render tests which call online |
The only occurrence of {
"version": 8,
"metadata": {
"test": {
"mapMode":"tile",
"debug": "true",
"allowed": 0.0005,
"operations": [
[ "setStyle", "mapbox://styles/mapbox/streets-v11"]
],
"pixelRatio": 2
}
},
"center": [-73.9959, 40.7106],
"zoom": 13
} @msbarry can you elaborate why an online tile source is needed for the render tests? I have the impression that the necessary tiles are contained in the folder |
Having a closer look at the first render test that fails on ubuntu. I am running
And it fails at the latest commit which is 37bcaf5. |
Rather than installing node 10 on my machine I prefer using GitHub actions to find out when or if this test ever passed. Doing this in pull request #365. |
I have a feeling that the number of failing tests before and after typescript is not that different. |
Based on https://github.com/maplibre/maplibre-gl-js/runs/3644885743?check_suite_focus=true only a single render test did not pass in the last commit before typescript. |
My intuition is that the changes related to |
test-render
failstest-render
fails since migration to typescript
Yes, I have that feeling as well. The changes there are relatively easy to revert and see if it helps. I don't think this is the only root cause though... |
While many render tests fail since the typescript migration, regressions/mapbox-gl-js#9009/style.json even makes the whole test process crash. Running
Results in the following error:
Maybe this could be a good starting point to investigate which changes introduced with typescript are to blame. Note that doubling memory to |
Yes, I've seen this crash as well when running locally unfortunately :-( I have no clue where to start looking into it. There are a few other changes besides typescript - node 14, packages upgrades etc. I don't know where to start honestly... :-( |
I made a website which shows roughly 80 render tests which currently fail. Some of them are really ugly: |
That's an excellent preview :-) feels like a lot of the failures are related to "accuracy". |
I've reverted locally the changes in all files containing |
I've created #367 to allow collaboration on a branch.
|
Ah I thought that tests like this were using a remote datasource, but I see now that some of the low zoom tiles are served directly out of the repo. That's great we only need a data provider for one of them. |
Sorry these are my changes to mat4 etc. :( regarding raster-extent/maxzoom (@wipfli's favorite), the only required fix from from if you look at the source of mat4.invert (which as far as I remember I did for any where I wasn't sure, to confirm these changes should be functionally equivalent), it didn't immediately make sense to me why this original change would not work.. the signature is like this inside you see all 16 elements get explicitly set so it shouldn't matter what type of array is in the output.. however the input array is actually set on line 712 as Float64Array.
then reassigned on line 732 One of the 'problems' here is that overriding the type system with any makes the tooling less useful. It might be good to consider making a 64bit version/extend I know this is just one fix, but I think the majority of the type changes with mat4 are correct, but of course it only takes one broken one to cause havoc . :( sorry again, I'll have a look at the others too |
Don't worry about it. I reviewed it and missed it as well. I thought it was the right direction too. |
Absolutely no problem @chippieTV. Thanks for all the contributions you made. Interestingly, I was just editing in my copy exactly the thing you proposed: -this.invProjMatrix = mat4.invert([] as any, this.projMatrix);
+this.invProjMatrix = mat4.invert(new Float64Array(16) as any, this.projMatrix); But so far still 80 tests fail. |
maplibre-gl-js version:
lastest
browser:
Steps to Trigger Behavior
npm ci
npm run build-dev
npm run test-render
on windows or macosLink to Demonstration
https://github.com/maplibre/maplibre-gl-js/pull/321/checks?check_run_id=3558826291
Expected Behavior
Test passes
Actual Behavior
Maybe this is a code block in
suite_implementation.js
which was not accessed before. The problem lies insuite_implementation.js
and not in the tests or actual source code.The text was updated successfully, but these errors were encountered: