Skip to content

chore(deps): Bump python-multipart from 0.0.26 to 0.0.27 in /server#6268

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/server/python-multipart-0.0.27
Closed

chore(deps): Bump python-multipart from 0.0.26 to 0.0.27 in /server#6268
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/uv/server/python-multipart-0.0.27

chore(deps): Bump python-multipart from 0.0.26 to 0.0.27 in /server

7bba1e1
Select commit
Loading
Failed to load commit list.
Google Cloud Build / website-pull-request-webdriver (datcom-ci) failed May 6, 2026 in 13m 0s

Summary

Build Information

Trigger website-pull-request-webdriver
Build 2a2aa31e-a18d-49ab-8e4d-f772867e2a2c
Start 2026-05-06T16:22:03-07:00
Duration 12m8.9s
Status FAILURE

Steps

Step Status Duration
package_js SUCCESS 3m8.881s
flask_webdriver_test FAILURE 8m37.551s

Details

starting build "2a2aa31e-a18d-49ab-8e4d-f772867e2a2c"

FETCHSOURCE
From https://github.com/datacommonsorg/website
 * branch            7bba1e144cb090643998c63e3f1860912d41e590 -> FETCH_HEAD
Updating files:  98% (2304/2329)
Updating files:  99% (2306/2329)
Updating files: 100% (2329/2329)
Updating files: 100% (2329/2329), done.
HEAD is now at 7bba1e1 chore(deps): Bump python-multipart from 0.0.26 to 0.0.27 in /server
GitCommit:
7bba1e144cb090643998c63e3f1860912d41e590
BUILD
Starting Step #0 - "package_js"
Step #0 - "package_js": Pulling image: gcr.io/datcom-ci/node:2025-10-01
Step #0 - "package_js": 2025-10-01: Pulling from datcom-ci/node
Step #0 - "package_js": b85a868b505f: Pulling fs layer
Step #0 - "package_js": 4bc2eda9354f: Pulling fs layer
Step #0 - "package_js": a407a484e74b: Pulling fs layer
Step #0 - "package_js": cc6fff309142: Pulling fs layer
Step #0 - "package_js": 09be68c4cfd1: Pulling fs layer
Step #0 - "package_js": 4f2fc846f636: Pulling fs layer
Step #0 - "package_js": b471a8c3f1d6: Pulling fs layer
Step #0 - "package_js": dd5c82065067: Pulling fs layer
Step #0 - "package_js": c79cd3db6e51: Pulling fs layer
Step #0 - "package_js": 71f0d0490247: Pulling fs layer
Step #0 - "package_js": 8674d43d4892: Pulling fs layer
Step #0 - "package_js": 574e4ed3a819: Pulling fs layer
Step #0 - "package_js": 81f0d49e568a: Pulling fs layer
Step #0 - "package_js": 6d2718751084: Pulling fs layer
Step #0 - "package_js": 8061492fb0d0: Pulling fs layer
Step #0 - "package_js": bdb0d3f2b395: Pulling fs layer
Step #0 - "package_js": b471a8c3f1d6: Waiting
Step #0 - "package_js": 71f0d0490247: Waiting
Step #0 - "package_js": dd5c82065067: Waiting
Step #0 - "package_js": 8674d43d4892: Waiting
Step #0 - "package_js": 574e4ed3a819: Waiting
Step #0 - "package_js": 81f0d49e568a: Waiting
Step #0 - "package_js": c79cd3db6e51: Waiting
Step #0 - "package_js": 6d2718751084: Waiting
Step #0 - "package_js": 8061492fb0d0: Waiting
Step #0 - "package_js": bdb0d3f2b395: Waiting
Step #0 - "package_js": 4bc2eda9354f: Verifying Checksum
Step #0 - "package_js": 4bc2eda9354f: Download complete
Step #0 - "package_js": cc6fff309142: Verifying Checksum
Step #0 - "package_js": cc6fff309142: Download complete
Step #0 - "package_js": 09be68c4cfd1: Verifying Checksum
Step #0 - "package_js": 09be68c4cfd1: Download complete
Step #0 - "package_js": b85a868b505f: Verifying Checksum
Step #0 - "package_js": b85a868b505f: Download complete
Step #0 - "package_js": a407a484e74b: Download complete
Step #0 - "package_js": 4f2fc846f636: Verifying Checksum
Step #0 - "package_js": 4f2fc846f636: Download complete
Step #0 - "package_js": c79cd3db6e51: Verifying Checksum
Step #0 - "package_js": c79cd3db6e51: Download complete
Step #0 - "package_js": b471a8c3f1d6: Verifying Checksum
Step #0 - "package_js": b471a8c3f1d6: Download complete
Step #0 - "package_js": 71f0d0490247: Verifying Checksum
Step #0 - "package_js": 71f0d0490247: Download complete
Step #0 - "package_js": 8674d43d4892: Verifying Checksum
Step #0 - "package_js": 8674d43d4892: Download complete
Step #0 - "package_js": dd5c82065067: Verifying Checksum
Step #0 - "package_js": dd5c82065067: Download complete
Step #0 - "package_js": 574e4ed3a819: Download complete
Step #0 - "package_js": 81f0d49e568a: Download complete
Step #0 - "package_js": b85a868b505f: Pull complete
Step #0 - "package_js": 4bc2eda9354f: Pull complete
Step #0 - "package_js": bdb0d3f2b395: Verifying Checksum
Step #0 - "package_js": bdb0d3f2b395: Download complete
Step #0 - "package_js": 8061492fb0d0: Verifying Checksum
Step #0 - "package_js": 8061492fb0d0: Download complete
Step #0 - "package_js": a407a484e74b: Pull complete
Step #0 - "package_js": cc6fff309142: Pull complete
Step #0 - "package_js": 09be68c4cfd1: Pull complete
Step #0 - "package_js": 4f2fc846f636: Pull complete
Step #0 - "package_js": 6d2718751084: Verifying Checksum
Step #0 - "package_js": 6d2718751084: Download complete
Step #0 - "package_js": b471a8c3f1d6: Pull complete
Step #0 - "package_js": dd5c82065067: Pull complete
Step #0 - "package_js": c79cd3db6e51: Pull complete
Step #0 - "package_js": 71f0d0490247: Pull complete
Step #0 - "package_js": 8674d43d4892: Pull complete
Step #0 - "package_js": 574e4ed3a819: Pull complete
Step #0 - "package_js": 81f0d49e568a: Pull complete
Step #0 - "package_js": 6d2718751084: Pull complete
Step #0 - "package_js": 8061492fb0d0: Pull complete
Step #0 - "package_js": bdb0d3f2b395: Pull complete
Step #0 - "package_js": Digest: sha256:d370b82042aace3f1dc24e23066f8ae12d6afd2190425d9db9dcc43fb4c5b10e
Step #0 - "package_js": Status: Downloaded newer image for gcr.io/datcom-ci/node:2025-10-01
Step #0 - "package_js": gcr.io/datcom-ci/node:2025-10-01
Step #0 - "package_js": ### Build client-side packages
Step #0 - "package_js": 
Step #0 - "package_js": added 13 packages, removed 3 packages, and changed 27 packages in 2s
Step #0 - "package_js": 
Step #0 - "package_js": 28 packages are looking for funding
Step #0 - "package_js":   run `npm fund` for details
Step #0 - "package_js": npm WARN EBADENGINE Unsupported engine {
Step #0 - "package_js": npm WARN EBADENGINE   package: 'cliui@9.0.1',
Step #0 - "package_js": npm WARN EBADENGINE   required: { node: '>=20' },
Step #0 - "package_js": npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
Step #0 - "package_js": npm WARN EBADENGINE }
Step #0 - "package_js": npm WARN EBADENGINE Unsupported engine {
Step #0 - "package_js": npm WARN EBADENGINE   package: 'yargs@18.0.0',
Step #0 - "package_js": npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
Step #0 - "package_js": npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
Step #0 - "package_js": npm WARN EBADENGINE }
Step #0 - "package_js": npm WARN EBADENGINE Unsupported engine {
Step #0 - "package_js": npm WARN EBADENGINE   package: 'yargs-parser@22.0.0',
Step #0 - "package_js": npm WARN EBADENGINE   required: { node: '^20.19.0 || ^22.12.0 || >=23' },
Step #0 - "package_js": npm WARN EBADENGINE   current: { node: 'v18.4.0', npm: '8.12.1' }
Step #0 - "package_js": npm WARN EBADENGINE }
Step #0 - "package_js": 
Step #0 - "package_js": added 23 packages, removed 16 packages, and changed 74 packages in 4s
Step #0 - "package_js": 
Step #0 - "package_js": 73 packages are looking for funding
Step #0 - "package_js":   run `npm fund` for details
Step #0 - "package_js": 
Step #0 - "package_js": added 48 packages, removed 601 packages, and changed 159 packages in 11s
Step #0 - "package_js": 
Step #0 - "package_js": 271 packages are looking for funding
Step #0 - "package_js":   run `npm fund` for details
Step #0 - "package_js": 
Step #0 - "package_js": > datacommons.org@1.0.0 dev-build
Step #0 - "package_js": > wireit
Step #0 - "package_js": 
Step #0 - "package_js": Analyzing
Step #0 - "package_js":   0% [0 / 3] [2 running] ../packages/client:build
Step #0 - "package_js":  33% [1 / 3] [1 running] ../packages/client:build
Step #0 - "package_js": #### Building webpack in development mode
Step #0 - "package_js": assets by path �[1m�[32m*.js�[39m�[22m 151 MiB 78 assets
Step #0 - "package_js": assets by path �[1m�[32mimages/�[39m�[22m 19.2 MiB 48 assets
Step #0 - "package_js": assets by path �[1m�[32mcustom_dc/�[39m�[22m 4.47 MiB 41 assets
Step #0 - "package_js": assets by path �[1m�[32msitemap/*.txt�[39m�[22m 79.6 MiB 34 assets
Step #0 - "package_js": assets by path �[1m�[32mcss/�[39m�[22m 10.8 MiB 34 assets
Step #0 - "package_js": assets by path �[1m�[32mdata/�[39m�[22m 1.28 MiB
Step #0 - "package_js":   asset �[1m�[32mdata/factcheck/fact_checks_20190605.txt.gz�[39m�[22m 656 KiB �[1m�[32m[emitted]�[39m�[22m [from: data/factcheck/fact_checks_20190605.txt.gz] �[1m�[32m[copied]�[39m�[22m
Step #0 - "package_js":   + 2 assets
Step #0 - "package_js": assets by path �[1m�[32mfonts/*.ttf�[39m�[22m 308 KiB
Step #0 - "package_js":   asset �[1m�[32mfonts/GoogleSans-Medium.ttf�[39m�[22m 154 KiB �[1m�[32m[emitted]�[39m�[22m [from: fonts/GoogleSans-Medium.ttf] �[1m�[32m[copied]�[39m�[22m
Step #0 - "package_js":   asset �[1m�[32mfonts/GoogleSans-Regular.ttf�[39m�[22m 154 KiB �[1m�[32m[emitted]�[39m�[22m [from: fonts/GoogleSans-Regular.ttf] �[1m�[32m[copied]�[39m�[22m
Step #0 - "package_js": assets by path �[1m�[32m*.ico�[39m�[22m 100 KiB
Step #0 - "package_js":   asset �[1m�[32msustain_favicon.ico�[39m�[22m 98.9 KiB �[1m�[32m[emitted]�[39m�[22m [from: sustain_favicon.ico] �[1m�[32m[copied]�[39m�[22m
Step #0 - "package_js":   asset �[1m�[32mold_favicon.ico�[39m�[22m 1.12 KiB �[1m�[32m[emitted]�[39m�[22m [from: old_favicon.ico] �[1m�[32m[copied]�[39m�[22m
Step #0 - "package_js": asset �[1m�[32mrobots.txt�[39m�[22m 2.08 KiB �[1m�[32m[emitted]�[39m�[22m [from: robots.txt] �[1m�[32m[copied]�[39m�[22m
Step #0 - "package_js": runtime modules 238 KiB 397 modules
Step #0 - "package_js": orphan modules 470 KiB �[1m�[33m[orphan]�[39m�[22m 280 modules
Step #0 - "package_js": javascript modules 9.64 MiB
Step #0 - "package_js":   modules by path �[1m./node_modules/�[39m�[22m 6.84 MiB 1365 modules
Step #0 - "package_js":   modules by path �[1m./js/�[39m�[22m 2.34 MiB 508 modules
Step #0 - "package_js":   modules by path �[1m./css/�[39m�[22m 224 KiB 34 modules
Step #0 - "package_js":   modules by path �[1m./library/*.ts�[39m�[22m 84.4 KiB 14 modules
Step #0 - "package_js":   + 6 modules
Step #0 - "package_js": json modules 759 KiB
Step #0 - "package_js":   optional modules 582 KiB �[1m�[33m[optional]�[39m�[22m 35 modules
Step #0 - "package_js":   modules by path �[1m./js/apps/�[39m�[22m 125 KiB 4 modules
Step #0 - "package_js":   modules by path �[1m./js/import_wizard/�[39m�[22m 37.8 KiB 2 modules
Step #0 - "package_js":   �[1m./js/i18n/compiled-lang/en/units.json�[39m�[22m 2.07 KiB �[1m�[33m[built]�[39m�[22m �[1m�[33m[code generated]�[39m�[22m
Step #0 - "package_js":   �[1m./js/tools/shared/place_selector/place_hierarchy.json�[39m�[22m 12.3 KiB �[1m�[33m[built]�[39m�[22m �[1m�[33m[code generated]�[39m�[22m
Step #0 - "package_js": webpack 5.94.0 compiled �[1m�[32msuccessfully�[39m�[22m in 126214 ms
Step #0 - "package_js": ✅ Ran 3 scripts and skipped 0 in 136.1s.
Finished Step #0 - "package_js"
Starting Step #1 - "flask_webdriver_test"
Step #1 - "flask_webdriver_test": Pulling image: gcr.io/datcom-ci/full-env:2026-02-20
Step #1 - "flask_webdriver_test": 2026-02-20: Pulling from datcom-ci/full-env
Step #1 - "flask_webdriver_test": 4831516dd0cb: Pulling fs layer
Step #1 - "flask_webdriver_test": eca621ed31da: Pulling fs layer
Step #1 - "flask_webdriver_test": ea9918785904: Pulling fs layer
Step #1 - "flask_webdriver_test": 4e61b9e01774: Pulling fs layer
Step #1 - "flask_webdriver_test": 71b0f9d5b525: Pulling fs layer
Step #1 - "flask_webdriver_test": 96221a5ca3b0: Pulling fs layer
Step #1 - "flask_webdriver_test": e6ce5089d906: Pulling fs layer
Step #1 - "flask_webdriver_test": dd5ab1f34322: Pulling fs layer
Step #1 - "flask_webdriver_test": 511f0c43c2f4: Pulling fs layer
Step #1 - "flask_webdriver_test": 5f8a573e5a03: Pulling fs layer
Step #1 - "flask_webdriver_test": f2ff01b34a28: Pulling fs layer
Step #1 - "flask_webdriver_test": d3eceb9f9a1f: Pulling fs layer
Step #1 - "flask_webdriver_test": b7491af9ff2d: Pulling fs layer
Step #1 - "flask_webdriver_test": fc557a31d2f0: Pulling fs layer
Step #1 - "flask_webdriver_test": 2f710c605d22: Pulling fs layer
Step #1 - "flask_webdriver_test": 511f0c43c2f4: Waiting
Step #1 - "flask_webdriver_test": 5f8a573e5a03: Waiting
Step #1 - "flask_webdriver_test": e6ce5089d906: Waiting
Step #1 - "flask_webdriver_test": f2ff01b34a28: Waiting
Step #1 - "flask_webdriver_test": dd5ab1f34322: Waiting
Step #1 - "flask_webdriver_test": 2f710c605d22: Waiting
Step #1 - "flask_webdriver_test": fc557a31d2f0: Waiting
Step #1 - "flask_webdriver_test": d3eceb9f9a1f: Waiting
Step #1 - "flask_webdriver_test": b7491af9ff2d: Waiting
Step #1 - "flask_webdriver_test": 96221a5ca3b0: Verifying Checksum
Step #1 - "flask_webdriver_test": 96221a5ca3b0: Download complete
Step #1 - "flask_webdriver_test": eca621ed31da: Verifying Checksum
Step #1 - "flask_webdriver_test": eca621ed31da: Download complete
Step #1 - "flask_webdriver_test": 71b0f9d5b525: Verifying Checksum
Step #1 - "flask_webdriver_test": 71b0f9d5b525: Download complete
Step #1 - "flask_webdriver_test": 4831516dd0cb: Verifying Checksum
Step #1 - "flask_webdriver_test": 4831516dd0cb: Download complete
Step #1 - "flask_webdriver_test": ea9918785904: Verifying Checksum
Step #1 - "flask_webdriver_test": ea9918785904: Download complete
Step #1 - "flask_webdriver_test": dd5ab1f34322: Verifying Checksum
Step #1 - "flask_webdriver_test": dd5ab1f34322: Download complete
Step #1 - "flask_webdriver_test": 4e61b9e01774: Verifying Checksum
Step #1 - "flask_webdriver_test": 4e61b9e01774: Download complete
Step #1 - "flask_webdriver_test": 511f0c43c2f4: Verifying Checksum
Step #1 - "flask_webdriver_test": 511f0c43c2f4: Download complete
Step #1 - "flask_webdriver_test": 5f8a573e5a03: Verifying Checksum
Step #1 - "flask_webdriver_test": 5f8a573e5a03: Download complete
Step #1 - "flask_webdriver_test": fc557a31d2f0: Verifying Checksum
Step #1 - "flask_webdriver_test": fc557a31d2f0: Download complete
Step #1 - "flask_webdriver_test": 4831516dd0cb: Pull complete
Step #1 - "flask_webdriver_test": eca621ed31da: Pull complete
Step #1 - "flask_webdriver_test": d3eceb9f9a1f: Verifying Checksum
Step #1 - "flask_webdriver_test": d3eceb9f9a1f: Download complete
Step #1 - "flask_webdriver_test": b7491af9ff2d: Verifying Checksum
Step #1 - "flask_webdriver_test": b7491af9ff2d: Download complete
Step #1 - "flask_webdriver_test": ea9918785904: Pull complete
Step #1 - "flask_webdriver_test": f2ff01b34a28: Verifying Checksum
Step #1 - "flask_webdriver_test": f2ff01b34a28: Download complete
Step #1 - "flask_webdriver_test": e6ce5089d906: Verifying Checksum
Step #1 - "flask_webdriver_test": e6ce5089d906: Download complete
Step #1 - "flask_webdriver_test": 2f710c605d22: Verifying Checksum
Step #1 - "flask_webdriver_test": 2f710c605d22: Download complete
Step #1 - "flask_webdriver_test": 4e61b9e01774: Pull complete
Step #1 - "flask_webdriver_test": 71b0f9d5b525: Pull complete
Step #1 - "flask_webdriver_test": 96221a5ca3b0: Pull complete
Step #1 - "flask_webdriver_test": e6ce5089d906: Pull complete
Step #1 - "flask_webdriver_test": dd5ab1f34322: Pull complete
Step #1 - "flask_webdriver_test": 511f0c43c2f4: Pull complete
Step #1 - "flask_webdriver_test": 5f8a573e5a03: Pull complete
Step #1 - "flask_webdriver_test": f2ff01b34a28: Pull complete
Step #1 - "flask_webdriver_test": d3eceb9f9a1f: Pull complete
Step #1 - "flask_webdriver_test": b7491af9ff2d: Pull complete
Step #1 - "flask_webdriver_test": fc557a31d2f0: Pull complete
Step #1 - "flask_webdriver_test": 2f710c605d22: Pull complete
Step #1 - "flask_webdriver_test": Digest: sha256:a02ff1bb7eeea66ea2ae34d499fc8d36f9c6e573707951e58d5116b152fb4c6b
Step #1 - "flask_webdriver_test": Status: Downloaded newer image for gcr.io/datcom-ci/full-env:2026-02-20
Step #1 - "flask_webdriver_test": gcr.io/datcom-ci/full-env:2026-02-20
Step #1 - "flask_webdriver_test": Collecting uv
Step #1 - "flask_webdriver_test":   Downloading uv-0.11.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (24.6 MB)
Step #1 - "flask_webdriver_test":      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 70.2 MB/s eta 0:00:00
Step #1 - "flask_webdriver_test": Installing collected packages: uv
Step #1 - "flask_webdriver_test": Successfully installed uv-0.11.11
Step #1 - "flask_webdriver_test": WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [notice] A new release of pip is available: 23.1.2 -> 26.1.1
Step #1 - "flask_webdriver_test": [notice] To update, run: pip install --upgrade pip
Step #1 - "flask_webdriver_test": ### Running webdriver tests
Step #1 - "flask_webdriver_test": Extracting server/tests/test_data/webdriver_recordings.tar.gz...
Step #1 - "flask_webdriver_test": Starting servers using run_servers.sh...
Step #1 - "flask_webdriver_test": FLASK_ENV=webdriver
Step #1 - "flask_webdriver_test": GOOGLE_CLOUD_PROJECT=datcom-website-dev
Step #1 - "flask_webdriver_test": ENABLE_MODEL=true
Step #1 - "flask_webdriver_test": Starting NL Server...
Step #1 - "flask_webdriver_test": Starting Website server...
Step #1 - "flask_webdriver_test": Using CPython 3.11.4 interpreter at: /usr/local/bin/python3
Step #1 - "flask_webdriver_test": Creating virtual environment at: server/.venv
Step #1 - "flask_webdriver_test": Using CPython 3.11.4 interpreter at: /usr/local/bin/python3
Step #1 - "flask_webdriver_test": Creating virtual environment at: nl_server/.venv
Step #1 - "flask_webdriver_test":    Updating https://github.com/datacommonsorg/llm-tools.git (HEAD)
Step #1 - "flask_webdriver_test": Downloading en-core-web-sm (12.2MiB)
Step #1 - "flask_webdriver_test": Downloading pynacl (1.3MiB)
Step #1 - "flask_webdriver_test": Downloading babel (9.7MiB)
Step #1 - "flask_webdriver_test": Downloading google-api-python-client (14.2MiB)
Step #1 - "flask_webdriver_test": Downloading aiohttp (1.7MiB)
Step #1 - "flask_webdriver_test": Downloading grpcio (6.5MiB)
Step #1 - "flask_webdriver_test": Downloading pyarrow (45.4MiB)
Step #1 - "flask_webdriver_test": Downloading google-adk (2.6MiB)
Step #1 - "flask_webdriver_test": Downloading selenium (9.0MiB)
Step #1 - "flask_webdriver_test": Downloading sqlalchemy (3.2MiB)
Step #1 - "flask_webdriver_test": Downloading numpy (15.7MiB)
Step #1 - "flask_webdriver_test": Downloading google-cloud-discoveryengine (3.2MiB)
Step #1 - "flask_webdriver_test": Downloading pillow (6.7MiB)
Step #1 - "flask_webdriver_test": Downloading cryptography (4.2MiB)
Step #1 - "flask_webdriver_test": Downloading google-cloud-aiplatform (8.0MiB)
Step #1 - "flask_webdriver_test": Downloading pydantic-core (2.0MiB)
Step #1 - "flask_webdriver_test":  Downloaded en-core-web-sm
Step #1 - "flask_webdriver_test":     Updated https://github.com/datacommonsorg/llm-tools.git (910626c119181e5096efb9f3090d7ae9f4310c22)
Step #1 - "flask_webdriver_test":    Building data-gemma @ git+https://github.com/datacommonsorg/llm-tools.git@910626c119181e5096efb9f3090d7ae9f4310c22
Step #1 - "flask_webdriver_test":  Downloaded pynacl
Step #1 - "flask_webdriver_test":  Downloaded aiohttp
Step #1 - "flask_webdriver_test":    Building flask-testing==0.8.1
Step #1 - "flask_webdriver_test":  Downloaded pydantic-core
Step #1 - "flask_webdriver_test": Downloading pillow (6.7MiB)
Step #1 - "flask_webdriver_test": Downloading grpcio (6.3MiB)
Step #1 - "flask_webdriver_test": Downloading pyarrow (45.5MiB)
Step #1 - "flask_webdriver_test": Downloading pydantic-core (2.0MiB)
Step #1 - "flask_webdriver_test": Downloading tokenizers (3.0MiB)
Step #1 - "flask_webdriver_test": Downloading blis (9.7MiB)
Step #1 - "flask_webdriver_test": Downloading sympy (6.0MiB)
Step #1 - "flask_webdriver_test": Downloading setuptools (1.1MiB)
Step #1 - "flask_webdriver_test": Downloading numpy (17.4MiB)
Step #1 - "flask_webdriver_test": Downloading scikit-learn (12.7MiB)
Step #1 - "flask_webdriver_test": Downloading safetensors (1.1MiB)
Step #1 - "flask_webdriver_test": Downloading hf-xet (4.0MiB)
Step #1 - "flask_webdriver_test": Downloading scipy (34.2MiB)
Step #1 - "flask_webdriver_test": Downloading google-cloud-aiplatform (7.7MiB)
Step #1 - "flask_webdriver_test": Downloading srsly (1.1MiB)
Step #1 - "flask_webdriver_test": Downloading spacy (6.3MiB)
Step #1 - "flask_webdriver_test": Downloading pandas (11.7MiB)
Step #1 - "flask_webdriver_test": Downloading aiohttp (1.7MiB)
Step #1 - "flask_webdriver_test": Downloading networkx (2.0MiB)
Step #1 - "flask_webdriver_test": Downloading shapely (3.0MiB)
Step #1 - "flask_webdriver_test": Downloading transformers (10.3MiB)
Step #1 - "flask_webdriver_test":    Building langdetect==1.0.9
Step #1 - "flask_webdriver_test": Downloading torch (175.5MiB)
Step #1 - "flask_webdriver_test": Downloading torchvision (1.8MiB)
Step #1 - "flask_webdriver_test":  Downloaded sqlalchemy
Step #1 - "flask_webdriver_test":  Downloaded google-adk
Step #1 - "flask_webdriver_test":  Downloaded cryptography
Step #1 - "flask_webdriver_test":  Downloaded safetensors
Step #1 - "flask_webdriver_test":  Downloaded grpcio
Step #1 - "flask_webdriver_test":  Downloaded pillow
Step #1 - "flask_webdriver_test":  Downloaded google-cloud-discoveryengine
Step #1 - "flask_webdriver_test":  Downloaded torchvision
Step #1 - "flask_webdriver_test":  Downloaded srsly
Step #1 - "flask_webdriver_test":  Downloaded aiohttp
Step #1 - "flask_webdriver_test":       Built flask-testing==0.8.1
Step #1 - "flask_webdriver_test":       Built data-gemma @ git+https://github.com/datacommonsorg/llm-tools.git@910626c119181e5096efb9f3090d7ae9f4310c22
Step #1 - "flask_webdriver_test":  Downloaded pydantic-core
Step #1 - "flask_webdriver_test":       Built langdetect==1.0.9
Step #1 - "flask_webdriver_test":  Downloaded setuptools
Step #1 - "flask_webdriver_test":  Downloaded numpy
Step #1 - "flask_webdriver_test":  Downloaded babel
Step #1 - "flask_webdriver_test":  Downloaded tokenizers
Step #1 - "flask_webdriver_test":  Downloaded shapely
Step #1 - "flask_webdriver_test":  Downloaded networkx
Step #1 - "flask_webdriver_test":  Downloaded hf-xet
Step #1 - "flask_webdriver_test":  Downloaded selenium
Step #1 - "flask_webdriver_test":  Downloaded google-api-python-client
Step #1 - "flask_webdriver_test":  Downloaded google-cloud-aiplatform
Step #1 - "flask_webdriver_test":  Downloaded pyarrow
Step #1 - "flask_webdriver_test": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #1 - "flask_webdriver_test":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #1 - "flask_webdriver_test":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #1 - "flask_webdriver_test": Installed 165 packages in 414ms
Step #1 - "flask_webdriver_test": Downloading pygments (1.2MiB)
Step #1 - "flask_webdriver_test": Downloading setuptools (1.2MiB)
Step #1 - "flask_webdriver_test":  Downloaded pygments
Step #1 - "flask_webdriver_test":  Downloaded setuptools
Step #1 - "flask_webdriver_test":  Downloaded grpcio
Step #1 - "flask_webdriver_test": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #1 - "flask_webdriver_test":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #1 - "flask_webdriver_test":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #1 - "flask_webdriver_test":  Downloaded pillow
Step #1 - "flask_webdriver_test": Installed 9 packages in 110ms
Step #1 - "flask_webdriver_test":  Downloaded blis
Step #1 - "flask_webdriver_test":  Downloaded sympy
Step #1 - "flask_webdriver_test":  Downloaded spacy
Step #1 - "flask_webdriver_test":  Downloaded google-cloud-aiplatform
Step #1 - "flask_webdriver_test":  Downloaded scikit-learn
Step #1 - "flask_webdriver_test":  Downloaded numpy
Step #1 - "flask_webdriver_test":  Downloaded transformers
Step #1 - "flask_webdriver_test":  Downloaded scipy
Step #1 - "flask_webdriver_test":  Downloaded pandas
Step #1 - "flask_webdriver_test":  Downloaded pyarrow
Step #1 - "flask_webdriver_test":  Downloaded torch
Step #1 - "flask_webdriver_test": warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
Step #1 - "flask_webdriver_test":          If the cache and target directories are on different filesystems, hardlinking may not be supported.
Step #1 - "flask_webdriver_test":          If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Step #1 - "flask_webdriver_test": ============================= test session starts ==============================
Step #1 - "flask_webdriver_test": platform linux -- Python 3.11.4, pytest-9.0.3, pluggy-1.6.0
Step #1 - "flask_webdriver_test": rootdir: /workspace
Step #1 - "flask_webdriver_test": configfile: pytest.ini
Step #1 - "flask_webdriver_test": plugins: rerunfailures-10.2, flakefinder-1.1.0, anyio-4.13.0, xdist-3.2.1
Step #1 - "flask_webdriver_test": gw0 I / gw1 I / gw2 I / gw3 I / gw4 I / gw5 I / gw6 I / gw7 I / gw8 I / gw9 I / gw10 I / gw11 I / gw12 I / gw13 I / gw14 I / gw15 I / gw16 I / gw17 I / gw18 I / gw19 I / gw20 I / gw21 I / gw22 I / gw23 I / gw24 I / gw25 I / gw26 I / gw27 I / gw28 I / gw29 I / gw30 I / gw31 I
Step #1 - "flask_webdriver_test": 
[gw0] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw1] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw2] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw3] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw4] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw6] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw5] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw7] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw8] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw9] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw12] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw10] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw11] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw13] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw15] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw14] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw16] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw18] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw17] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw19] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw21] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw20] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw22] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw23] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw24] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw25] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw26] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw27] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw29] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw28] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw31] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": 
[gw30] Python 3.11.4 (main, Aug 16 2023, 05:23:18) [GCC 12.2.0]
Step #1 - "flask_webdriver_test": gw0 [85] / gw1 [85] / gw2 [85] / gw3 [85] / gw4 [85] / gw5 [85] / gw6 [85] / gw7 [85] / gw8 [85] / gw9 [85] / gw10 [85] / gw11 [85] / gw12 [85] / gw13 [85] / gw14 [85] / gw15 [85] / gw16 [85] / gw17 [85] / gw18 [85] / gw19 [85] / gw20 [85] / gw21 [85] / gw22 [85] / gw23 [85] / gw24 [85] / gw25 [85] / gw26 [85] / gw27 [85] / gw28 [85] / gw29 [85] / gw30 [85] / gw31 [85]
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": scheduling tests via LoadScheduling
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": server/webdriver/tests/browser_test.py::TestBrowser::test_observation_chart_redirect 
Step #1 - "flask_webdriver_test": [gw0] [  1%] SKIPPED server/webdriver/tests/browser_test.py::TestBrowser::test_observation_chart_redirect 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_highlight_chart_facet_selector 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_explorer_redirect_place_explorer_populates_search_bar 
Step #1 - "flask_webdriver_test": server/webdriver/tests/disaster_page_test.py::TestCharts::test_server_and_page 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_africa 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_bar_select_different_facet 
Step #1 - "flask_webdriver_test": server/webdriver/tests/download_test.py::TestDownload::test_server_and_page 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_ai_spark_icon_hover 
Step #1 - "flask_webdriver_test": server/webdriver/tests/event_page_test.py::TestEventPage::test_page_drought 
Step #1 - "flask_webdriver_test": server/webdriver/tests/browser_test.py::TestBrowser::test_page_landing 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_demographics_link 
Step #1 - "flask_webdriver_test": server/webdriver/tests/homepage_test.py::TestHomepage::test_homepage_en_by_css 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_map_select_different_facet 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_highlight_chart_clears 
Step #1 - "flask_webdriver_test": [gw28] [  2%] SKIPPED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_ai_spark_icon_hover 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_dev_place_overview_world 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_highlight_chart_us_states_pop_ranking_with_map 
Step #1 - "flask_webdriver_test": server/webdriver/tests/map_test.py::TestMap::test_server_and_page 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_rankin
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/cloud-build/builds/2a2aa31e-a18d-49ab-8e4d-f772867e2a2c?project=879489846695.]
...
plorer::test_place_category_placeholder 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_san_mateo_county Recording Stats - Found: 3321, Fallback Fake: 26, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3355, Fallback Fake: 42, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw29] [ 64%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_page_serve_mtv 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_page_serve_usa Recording Stats - Found: 3403, Fallback Fake: 44, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3423, Fallback Fake: 74, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3423, Fallback Fake: 124, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3451, Fallback Fake: 146, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3501, Fallback Fake: 146, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3551, Fallback Fake: 146, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw28] [ 65%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_san_mateo_county Recording Stats - Found: 3601, Fallback Fake: 146, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw1] [ 67%] RERUN server/webdriver/tests/browser_test.py::TestBrowser::test_page_serve_ca_population 
Step #1 - "flask_webdriver_test": server/webdriver/tests/browser_test.py::TestBrowser::test_page_serve_ca_population 
Step #1 - "flask_webdriver_test": [gw29] [ 68%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_page_serve_usa Recording Stats - Found: 3650, Fallback Fake: 147, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw19] [ 69%] RERUN server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_page_has_no_xss_vulnerability 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_page_has_no_xss_vulnerability 
Step #1 - "flask_webdriver_test": [gw1] [ 69%] PASSED server/webdriver/tests/browser_test.py::TestBrowser::test_page_serve_ca_population 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_tulum_loads 
Step #1 - "flask_webdriver_test": [gw19] [ 69%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_page_has_no_xss_vulnerability 
Step #1 - "flask_webdriver_test": server/webdriver/tests/ranking_test.py::TestRanking::test_northamerica_population 
Step #1 - "flask_webdriver_test": [gw1] [ 70%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_tulum_loads 
Step #1 - "flask_webdriver_test": [gw19] [ 71%] PASSED server/webdriver/tests/ranking_test.py::TestRanking::test_northamerica_population 
Step #1 - "flask_webdriver_test": [gw17] [ 72%] PASSED server/webdriver/tests/scatter_test.py::TestScatter::test_click_map_button_results_in_map_chart 
Step #1 - "flask_webdriver_test": server/webdriver/tests/timeline_test.py::TestTimeline::test_can_enter_and_remove_places 
Step #1 - "flask_webdriver_test": [gw2] [ 74%] PASSED server/webdriver/tests/scatter_test.py::TestScatter::test_manually_enter_options_results_in_scatter_chart 
Step #1 - "flask_webdriver_test": [gw24] [ 75%] PASSED server/webdriver/tests/scatter_test.py::TestScatter::test_click_scatter_button_results_in_scatter_chart 
Step #1 - "flask_webdriver_test": server/webdriver/tests/stat_var_hierarchy_test.py::TestStatVarHierarchy::test_filter Recording Stats - Found: 3699, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw4] [ 75%] RERUN server/webdriver/tests/event_page_test.py::TestEventPage::test_page_cyclone 
Step #1 - "flask_webdriver_test": server/webdriver/tests/event_page_test.py::TestEventPage::test_page_cyclone 
Step #1 - "flask_webdriver_test": [gw22] [ 76%] RERUN server/webdriver/tests/place_explorer_i18n_test.py::TestPlaceI18nExplorer::test_explorer_redirect_place_explorer 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_i18n_test.py::TestPlaceI18nExplorer::test_explorer_redirect_place_explorer 
Step #1 - "flask_webdriver_test": [gw4] [ 76%] FAILED server/webdriver/tests/event_page_test.py::TestEventPage::test_page_cyclone 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_landing_test.py::TestPlaceLanding::test_place_landing_ru 
Step #1 - "flask_webdriver_test": [gw21] [ 77%] PASSED server/webdriver/tests/map_test.py::TestMap::test_manually_enter_options_results_in_chart 
Step #1 - "flask_webdriver_test": [gw4] [ 78%] PASSED server/webdriver/tests/place_landing_test.py::TestPlaceLanding::test_place_landing_ru Recording Stats - Found: 3749, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3799, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3849, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 3899, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw3] [ 80%] PASSED server/webdriver/tests/download_test.py::TestDownload::test_manually_enter_options Recording Stats - Found: 3949, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw22] [ 80%] PASSED server/webdriver/tests/place_explorer_i18n_test.py::TestPlaceI18nExplorer::test_explorer_redirect_place_explorer 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_i18n_test.py::TestPlaceI18nExplorer::test_explorer_redirect_place_explorer_populates_search_bar Recording Stats - Found: 3999, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4049, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4099, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4149, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw24] [ 81%] PASSED server/webdriver/tests/stat_var_hierarchy_test.py::TestStatVarHierarchy::test_filter 
Step #1 - "flask_webdriver_test": [gw22] [ 82%] PASSED server/webdriver/tests/place_explorer_i18n_test.py::TestPlaceI18nExplorer::test_explorer_redirect_place_explorer_populates_search_bar 
Step #1 - "flask_webdriver_test": [gw17] [ 83%] PASSED server/webdriver/tests/timeline_test.py::TestTimeline::test_can_enter_and_remove_places 
Step #1 - "flask_webdriver_test": [gw26] [ 84%] RERUN server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_dev_place_overview_world 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_dev_place_overview_world 
Step #1 - "flask_webdriver_test": [gw0] [ 85%] RERUN server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_los_angeles 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_los_angeles 
Step #1 - "flask_webdriver_test": [gw30] [ 87%] RERUN server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_africa 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_africa Recording Stats - Found: 4199, Fallback Fake: 148, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4225, Fallback Fake: 172, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4238, Fallback Fake: 209, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4287, Fallback Fake: 210, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4312, Fallback Fake: 235, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4337, Fallback Fake: 260, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4365, Fallback Fake: 282, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4379, Fallback Fake: 318, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4385, Fallback Fake: 362, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw30] [ 87%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_africa 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_california 
Step #1 - "flask_webdriver_test": [gw6] [ 88%] RERUN server/webdriver/tests/event_page_test.py::TestEventPage::test_page_drought 
Step #1 - "flask_webdriver_test": server/webdriver/tests/event_page_test.py::TestEventPage::test_page_drought 
Step #1 - "flask_webdriver_test": [gw0] [ 88%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_los_angeles 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_zip_90003 
Step #1 - "flask_webdriver_test": [gw26] [ 88%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_dev_place_overview_world 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_explorer_redirect_place_explorer Recording Stats - Found: 4418, Fallback Fake: 379, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4468, Fallback Fake: 379, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4518, Fallback Fake: 379, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4568, Fallback Fake: 379, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4613, Fallback Fake: 384, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4658, Fallback Fake: 389, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4708, Fallback Fake: 389, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw0] [ 89%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_zip_90003 Recording Stats - Found: 4758, Fallback Fake: 389, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4808, Fallback Fake: 389, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw30] [ 90%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_place_overview_california 
Step #1 - "flask_webdriver_test": [gw27] [ 91%] RERUN server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_explorer_redirect_place_explorer_populates_search_bar 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_explorer_redirect_place_explorer_populates_search_bar 
Step #1 - "flask_webdriver_test": [gw16] [ 92%] PASSED server/webdriver/tests/explore_test.py::TestExplorePage::test_ranking_chart_hyperlink_disabled 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_ranking_scroll_disabled 
Step #1 - "flask_webdriver_test": [gw26] [ 94%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_explorer_redirect_place_explorer Recording Stats - Found: 4857, Fallback Fake: 390, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4907, Fallback Fake: 390, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 4957, Fallback Fake: 390, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 5007, Fallback Fake: 390, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 5057, Fallback Fake: 390, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": Recording Stats - Found: 5107, Fallback Fake: 390, Fallback Live: 3
Step #1 - "flask_webdriver_test": Missing Recordings by Path: {"/api/autocomplete": 1, "/api/ranking/Count_Person/Country/Earth": 2}
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": [gw12] [ 95%] PASSED server/webdriver/tests/explore_test.py::TestExplorePage::test_highlight_chart_clears 
Step #1 - "flask_webdriver_test": server/webdriver/tests/explore_test.py::TestExplorePage::test_highlight_chart_date_selection 
Step #1 - "flask_webdriver_test": [gw12] [ 96%] SKIPPED server/webdriver/tests/explore_test.py::TestExplorePage::test_highlight_chart_date_selection 
Step #1 - "flask_webdriver_test": [gw16] [ 97%] PASSED server/webdriver/tests/explore_test.py::TestExplorePage::test_ranking_scroll_disabled 
Step #1 - "flask_webdriver_test": [gw27] [ 97%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_explorer_redirect_place_explorer_populates_search_bar 
Step #1 - "flask_webdriver_test": server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_neighborhood_no_data 
Step #1 - "flask_webdriver_test": [gw27] [ 98%] PASSED server/webdriver/tests/place_explorer_test.py::TestPlaceExplorer::test_neighborhood_no_data 
Step #1 - "flask_webdriver_test": [gw6] [ 98%] RERUN server/webdriver/tests/event_page_test.py::TestEventPage::test_page_drought 
Step #1 - "flask_webdriver_test": server/webdriver/tests/event_page_test.py::TestEventPage::test_page_drought 
Step #1 - "flask_webdriver_test": [gw6] [ 98%] FAILED server/webdriver/tests/event_page_test.py::TestEventPage::test_page_drought 
Step #1 - "flask_webdriver_test": server/webdriver/tests/event_page_test.py::TestEventPage::test_page_fire 
Step #1 - "flask_webdriver_test": [gw6] [100%] PASSED server/webdriver/tests/event_page_test.py::TestEventPage::test_page_fire 
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": =================================== FAILURES ===================================
Step #1 - "flask_webdriver_test": ____________________ TestPlaceLanding.test_place_landing_en ____________________
Step #1 - "flask_webdriver_test": [gw20] linux -- Python 3.11.4 /workspace/server/.venv/bin/python3
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": self = <workspace.server.webdriver.tests.place_landing_test.TestPlaceLanding testMethod=test_place_landing_en>
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test":     @pytest.mark.smoke_test
Step #1 - "flask_webdriver_test":     def test_place_landing_en(self):
Step #1 - "flask_webdriver_test":       """Test place landing page in EN."""
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       self.driver.get(self.url_ + '/place')
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       subtitle_present = EC.text_to_be_present_in_element((By.TAG_NAME, 'h1'),
Step #1 - "flask_webdriver_test":                                                           'Place Explorer')
Step #1 - "flask_webdriver_test":       WebDriverWait(self.driver, self.TIMEOUT_SEC).until(subtitle_present)
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       intro = self.driver.find_element(By.XPATH, '//*[@id="body"]/p[1]')
Step #1 - "flask_webdriver_test":       self.assertTrue(
Step #1 - "flask_webdriver_test":           intro.text.startswith('The Place Explorer tool helps you understand'))
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       chicago = self.driver.find_element(By.XPATH,
Step #1 - "flask_webdriver_test":                                          '//*[@id="body"]/ul[1]/li[1]/a[1]')
Step #1 - "flask_webdriver_test": >     self.assertEqual(chicago.text, 'Chicago, IL')
Step #1 - "flask_webdriver_test": E     AssertionError: 'Chicago' != 'Chicago, IL'
Step #1 - "flask_webdriver_test": E     - Chicago
Step #1 - "flask_webdriver_test": E     + Chicago, IL
Step #1 - "flask_webdriver_test": E     ?        ++++
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": server/webdriver/shared_tests/place_landing_test.py:40: AssertionError
Step #1 - "flask_webdriver_test": _______________________ TestEventPage.test_page_cyclone ________________________
Step #1 - "flask_webdriver_test": [gw4] linux -- Python 3.11.4 /workspace/server/.venv/bin/python3
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": self = <workspace.server.webdriver.tests.event_page_test.TestEventPage testMethod=test_page_cyclone>
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test":     def test_page_cyclone(self):
Step #1 - "flask_webdriver_test":       """Test a cyclone event page can be loaded successfully"""
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Load event page for cyclone Nicole.
Step #1 - "flask_webdriver_test":       self.driver.get(self.url_ + BASE_PAGE_URL + CYCLONE_NICOLE_DCID)
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Assert 200 HTTP code: successful page load.
Step #1 - "flask_webdriver_test":       req = urllib.request.Request(self.driver.current_url)
Step #1 - "flask_webdriver_test":       with urllib.request.urlopen(req) as response:
Step #1 - "flask_webdriver_test":         self.assertEqual(response.getcode(), 200)
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Assert page title is correct
Step #1 - "flask_webdriver_test":       WebDriverWait(self.driver, self.TIMEOUT_SEC).until(
Step #1 - "flask_webdriver_test":           EC.title_contains('Nicole - Event Page - ' + self.dc_title_string))
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Check header section
Step #1 - "flask_webdriver_test":       div1 = find_elem(self.driver,
Step #1 - "flask_webdriver_test":                        by=By.XPATH,
Step #1 - "flask_webdriver_test":                        value='//*[@id="main-pane"]/div[1]/div[1]')
Step #1 - "flask_webdriver_test":       self.assertEqual(find_elem(div1, by=By.TAG_NAME, value='h1').text, 'Nicole')
Step #1 - "flask_webdriver_test": >     self.assertEqual(
Step #1 - "flask_webdriver_test":           find_elem(div1, by=By.TAG_NAME, value='h3').text,
Step #1 - "flask_webdriver_test":           'Cyclone Event in Indian River County, Florida, United States, North America, Earth'
Step #1 - "flask_webdriver_test":       )
Step #1 - "flask_webdriver_test": E     AssertionError: 'Cycl[16 chars]ian River County, Earth' != 'Cycl[16 chars]ian River County, Florida, United States, North America, Earth'
Step #1 - "flask_webdriver_test": E     - Cyclone Event in Indian River County, Earth
Step #1 - "flask_webdriver_test": E     + Cyclone Event in Indian River County, Florida, United States, North America, Earth
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": server/webdriver/tests/event_page_test.py:56: AssertionError
Step #1 - "flask_webdriver_test": _______________________ TestEventPage.test_page_drought ________________________
Step #1 - "flask_webdriver_test": [gw6] linux -- Python 3.11.4 /workspace/server/.venv/bin/python3
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": self = <workspace.server.webdriver.tests.event_page_test.TestEventPage testMethod=test_page_drought>
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test":     def test_page_drought(self):
Step #1 - "flask_webdriver_test":       """Test a drought event page can be loaded successfully"""
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Load event page for cyclone Nicole.
Step #1 - "flask_webdriver_test":       self.driver.get(self.url_ + BASE_PAGE_URL + DROUGHT_EVENT_DCID)
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Assert 200 HTTP code: successful page load.
Step #1 - "flask_webdriver_test":       req = urllib.request.Request(self.driver.current_url)
Step #1 - "flask_webdriver_test":       with urllib.request.urlopen(req) as response:
Step #1 - "flask_webdriver_test":         self.assertEqual(response.getcode(), 200)
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Assert page title is correct
Step #1 - "flask_webdriver_test":       WebDriverWait(self.driver, self.TIMEOUT_SEC).until(
Step #1 - "flask_webdriver_test":           EC.title_contains('stormEvent/nws5512667 - Event Page - ' +
Step #1 - "flask_webdriver_test":                             self.dc_title_string))
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       # Check header section
Step #1 - "flask_webdriver_test":       div1 = find_elem(self.driver,
Step #1 - "flask_webdriver_test":                        by=By.XPATH,
Step #1 - "flask_webdriver_test":                        value='//*[@id="main-pane"]/div[1]/div[1]')
Step #1 - "flask_webdriver_test":       self.assertEqual(
Step #1 - "flask_webdriver_test": >         find_elem(div1, by=By.TAG_NAME, value='h1').text,
Step #1 - "flask_webdriver_test":           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "flask_webdriver_test":           'stormEvent/nws5512667')
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": server/webdriver/tests/event_page_test.py:168: 
Step #1 - "flask_webdriver_test": _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
Step #1 - "flask_webdriver_test": server/webdriver/base_utils.py:118: in find_elem
Step #1 - "flask_webdriver_test":     elems = find_elems(parent, by, value, path_to_elem)
Step #1 - "flask_webdriver_test":             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Step #1 - "flask_webdriver_test": _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": parent = None, by = 'tag name', value = 'h1', path_to_elem = None
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test":     def find_elems(
Step #1 - "flask_webdriver_test":         parent: webdriver.remote.webelement.WebElement,
Step #1 - "flask_webdriver_test":         by: str = By.CLASS_NAME,
Step #1 - "flask_webdriver_test":         value: str = "",
Step #1 - "flask_webdriver_test":         path_to_elem: List[str] = None
Step #1 - "flask_webdriver_test":     ) -> list[webdriver.remote.webelement.WebElement]:
Step #1 - "flask_webdriver_test":       """
Step #1 - "flask_webdriver_test":         Finds elements within the parent elements with the specified by string and value.
Step #1 - "flask_webdriver_test":         If not found, it will wait up to the timeout set, and then return None.
Step #1 - "flask_webdriver_test":         """
Step #1 - "flask_webdriver_test":       parents = find_parents([parent], by,
Step #1 - "flask_webdriver_test":                              path_to_elem) if path_to_elem else [parent]
Step #1 - "flask_webdriver_test":     
Step #1 - "flask_webdriver_test":       elements = []
Step #1 - "flask_webdriver_test":       for par in parents:
Step #1 - "flask_webdriver_test":         wait_elem(par, by, value, TIMEOUT)
Step #1 - "flask_webdriver_test": >       found_elements = par.find_elements(by, value)
Step #1 - "flask_webdriver_test":                          ^^^^^^^^^^^^^^^^^
Step #1 - "flask_webdriver_test": E       AttributeError: 'NoneType' object has no attribute 'find_elements'
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": server/webdriver/base_utils.py:98: AttributeError
Step #1 - "flask_webdriver_test": =============================== warnings summary ===============================
Step #1 - "flask_webdriver_test": server/.venv/lib/python3.11/site-packages/flask_babel/__init__.py:183: 32 warnings
Step #1 - "flask_webdriver_test":   /workspace/server/.venv/lib/python3.11/site-packages/flask_babel/__init__.py:183: DeprecationWarning: 'locked_cached_property' is deprecated and will be removed in Flask 2.4. Use a lock inside the decorated function if locking is needed.
Step #1 - "flask_webdriver_test":     @locked_cached_property
Step #1 - "flask_webdriver_test": 
Step #1 - "flask_webdriver_test": -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
Step #1 - "flask_webdriver_test": =========================== short test summary info ============================
Step #1 - "flask_webdriver_test": FAILED server/webdriver/tests/place_landing_test.py::TestPlaceLanding::test_place_landing_en
Step #1 - "flask_webdriver_test": FAILED server/webdriver/tests/event_page_test.py::TestEventPage::test_page_cyclone
Step #1 - "flask_webdriver_test": FAILED server/webdriver/tests/event_page_test.py::TestEventPage::test_page_drought
Step #1 - "flask_webdriver_test": == 3 failed, 76 passed, 6 skipped, 32 warnings, 16 rerun in 471.32s (0:07:51) ==
Finished Step #1 - "flask_webdriver_test"
ERROR
ERROR: build step 1 "gcr.io/datcom-ci/full-env:2026-02-20" failed: step exited with non-zero status: 1

Build Log: https://console.cloud.google.com/cloud-build/builds/2a2aa31e-a18d-49ab-8e4d-f772867e2a2c?project=879489846695