Add import information skill - #2130
Merged
rohitkumarbhagat merged 34 commits intoAug 5, 2026
Merged
Google Cloud Build / data-pull-request-py (datcom-ci)
succeeded
Aug 5, 2026 in 10m 13s
Summary
Build Information
| Trigger | data-pull-request-py |
| Build | b80650c9-de3c-4d48-8923-2aed15d54abd |
| Start | 2026-08-05T09:39:11-07:00 |
| Duration | 10m11.34s |
| Status | SUCCESS |
Steps
| Step | Status | Duration |
|---|---|---|
| python_install | SUCCESS | 2m19.592s |
| python_test | SUCCESS | 7m25.898s |
| python_format_check | SUCCESS | 3m5.234s |
Details
starting build "b80650c9-de3c-4d48-8923-2aed15d54abd"
FETCHSOURCE
From https://github.com/datacommonsorg/data
* branch 3629f13b46636ec741bce97c606f9a246abb43d1 -> FETCH_HEAD
Updating files: 18% (981/5182)
Updating files: 19% (985/5182)
Updating files: 20% (1037/5182)
Updating files: 21% (1089/5182)
Updating files: 22% (1141/5182)
Updating files: 22% (1174/5182)
Updating files: 23% (1192/5182)
Updating files: 24% (1244/5182)
Updating files: 25% (1296/5182)
Updating files: 26% (1348/5182)
Updating files: 27% (1400/5182)
Updating files: 28% (1451/5182)
Updating files: 29% (1503/5182)
Updating files: 30% (1555/5182)
Updating files: 31% (1607/5182)
Updating files: 32% (1659/5182)
Updating files: 33% (1711/5182)
Updating files: 34% (1762/5182)
Updating files: 35% (1814/5182)
Updating files: 36% (1866/5182)
Updating files: 37% (1918/5182)
Updating files: 38% (1970/5182)
Updating files: 39% (2021/5182)
Updating files: 40% (2073/5182)
Updating files: 41% (2125/5182)
Updating files: 42% (2177/5182)
Updating files: 43% (2229/5182)
Updating files: 44% (2281/5182)
Updating files: 45% (2332/5182)
Updating files: 46% (2384/5182)
Updating files: 47% (2436/5182)
Updating files: 48% (2488/5182)
Updating files: 49% (2540/5182)
Updating files: 50% (2591/5182)
Updating files: 51% (2643/5182)
Updating files: 52% (2695/5182)
Updating files: 52% (2706/5182)
Updating files: 53% (2747/5182)
Updating files: 54% (2799/5182)
Updating files: 55% (2851/5182)
Updating files: 56% (2902/5182)
Updating files: 57% (2954/5182)
Updating files: 58% (3006/5182)
Updating files: 59% (3058/5182)
Updating files: 60% (3110/5182)
Updating files: 61% (3162/5182)
Updating files: 62% (3213/5182)
Updating files: 63% (3265/5182)
Updating files: 64% (3317/5182)
Updating files: 65% (3369/5182)
Updating files: 66% (3421/5182)
Updating files: 67% (3472/5182)
Updating files: 68% (3524/5182)
Updating files: 69% (3576/5182)
Updating files: 70% (3628/5182)
Updating files: 71% (3680/5182)
Updating files: 72% (3732/5182)
Updating files: 73% (3783/5182)
Updating files: 74% (3835/5182)
Updating files: 75% (3887/5182)
Updating files: 76% (3939/5182)
Updating files: 77% (3991/5182)
Updating files: 78% (4042/5182)
Updating files: 79% (4094/5182)
Updating files: 80% (4146/5182)
Updating files: 81% (4198/5182)
Updating files: 82% (4250/5182)
Updating files: 83% (4302/5182)
Updating files: 84% (4353/5182)
Updating files: 85% (4405/5182)
Updating files: 86% (4457/5182)
Updating files: 87% (4509/5182)
Updating files: 88% (4561/5182)
Updating files: 89% (4612/5182)
Updating files: 90% (4664/5182)
Updating files: 91% (4716/5182)
Updating files: 92% (4768/5182)
Updating files: 93% (4820/5182)
Updating files: 94% (4872/5182)
Updating files: 95% (4923/5182)
Updating files: 96% (4975/5182)
Updating files: 97% (5027/5182)
Updating files: 98% (5079/5182)
Updating files: 99% (5131/5182)
Updating files: 100% (5182/5182)
Updating files: 100% (5182/5182), done.
HEAD is now at 3629f13 refactor: dynamically load test requirements from check_dependencies.sh instead of hardcoding values
GitCommit:
3629f13b46636ec741bce97c606f9a246abb43d1
BUILD
Starting Step #0 - "python_install"
Step #0 - "python_install": Pulling image: python:3.12.8
Step #0 - "python_install": 3.12.8: Pulling from library/python
Step #0 - "python_install": a492eee5e559: Pulling fs layer
Step #0 - "python_install": 32b550be6cb6: Pulling fs layer
Step #0 - "python_install": 35af2a7690f2: Pulling fs layer
Step #0 - "python_install": 7576b00d9bb1: Pulling fs layer
Step #0 - "python_install": a57a7d4db735: Pulling fs layer
Step #0 - "python_install": a113cc029c60: Pulling fs layer
Step #0 - "python_install": dc93fee02728: Pulling fs layer
Step #0 - "python_install": dc93fee02728: Waiting
Step #0 - "python_install": a57a7d4db735: Verifying Checksum
Step #0 - "python_install": a57a7d4db735: Download complete
Step #0 - "python_install": dc93fee02728: Verifying Checksum
Step #0 - "python_install": dc93fee02728: Download complete
Step #0 - "python_install": 32b550be6cb6: Verifying Checksum
Step #0 - "python_install": 32b550be6cb6: Download complete
Step #0 - "python_install": a113cc029c60: Verifying Checksum
Step #0 - "python_install": a113cc029c60: Download complete
Step #0 - "python_install": a492eee5e559: Verifying Checksum
Step #0 - "python_install": a492eee5e559: Download complete
Step #0 - "python_install": 35af2a7690f2: Verifying Checksum
Step #0 - "python_install": 35af2a7690f2: Download complete
Step #0 - "python_install": 7576b00d9bb1: Verifying Checksum
Step #0 - "python_install": 7576b00d9bb1: Download complete
Step #0 - "python_install": a492eee5e559: Pull complete
Step #0 - "python_install": 32b550be6cb6: Pull complete
Step #0 - "python_install": 35af2a7690f2: Pull complete
Step #0 - "python_install": 7576b00d9bb1: Pull complete
Step #0 - "python_install": a57a7d4db735: Pull complete
Step #0 - "python_install": a113cc029c60: Pull complete
Step #0 - "python_install": dc93fee02728: Pull complete
Step #0 - "python_install": Digest: sha256:e74938514dc67ad3eade8798aa929f5dd569e463758c83243636d4e1b54aa559
Step #0 - "python_install": Status: Downloaded newer image for python:3.12.8
Step #0 - "python_install": docker.io/library/python:3.12.8
Step #0 - "python_install": ### Installing Python requirements
Step #0 - "python_install": Installing Python requirements
Step #0 - "python_install": Installing uv
Step #0 - "python_install":
Step #0 - "python_install": [notice] A new release of pip is available: 24.3.1 -> 26.2.1
Step #0 - "python_install": [notice] To update, run: pip install --upgrade pip
Step #0 - "python_install": Using uv for package installation
Finished Step #0 - "python_install"
Starting Step #1 - "python_test"
Starting Step #2 - "python_format_check"
Step #1 - "python_test": Already have image (with digest): python:3.12.8
Step #2 - "python_format_check": Already have image (with digest): python:3.12.8
Step #2 - "python_format_check": ### Testing lint
Step #1 - "python_test": ### Running all tests
Step #1 - "python_test": Installing Python requirements
Step #1 - "python_test": Using uv for package installation
Step #2 - "python_format_check": Installing Python requirements
Step #2 - "python_format_check": Using uv for package installation
Step #1 - "python_test": #### Testing Python code in util/
Step #2 - "python_format_check": #### Testing Python lint
Step #1 - "python_test": test_aggregate_dict (aggregation_util_test.AggregationUtilTest.test_aggregate_dict) ... ok
Step #1 - "python_test": test_aggregate_value (aggregation_util_test.AggregationUtilTest.test_aggregate_value) ... ok
Step #1 - "python_test": test_config_map_with_override (config_map_test.TestConfigMap.test_config_map_with_override) ... ok
Step #1 - "python_test": test_load_config_file (config_map_test.TestConfigMap.test_load_config_file)
Step #1 - "python_test": Test loading of config dictionary from a file. ... ok
Step #1 - "python_test": test_set_config (config_map_test.TestConfigMap.test_set_config) ... ok
Step #1 - "python_test": test_update_config (config_map_test.TestConfigMap.test_update_config) ... ok
Step #1 - "python_test": test_add_counter_decrement (counters_test.TestCounters.test_add_counter_decrement) ... ok
Step #1 - "python_test": test_add_counter_default_increment (counters_test.TestCounters.test_add_counter_default_increment) ... ok
Step #1 - "python_test": test_add_counter_increment (counters_test.TestCounters.test_add_counter_increment) ... ok
Step #1 - "python_test": test_add_counters (counters_test.TestCounters.test_add_counters) ... ok
Step #1 - "python_test": test_counter_dict_is_shared (counters_test.TestCounters.test_counter_dict_is_shared)
Step #1 - "python_test": Verify counter dict is shared across counters. ... ok
Step #1 - "python_test": test_debug_counters_are_correctly_updated (counters_test.TestCounters.test_debug_counters_are_correctly_updated)
Step #1 - "python_test": Verify counters with debug string suffixes. ... ok
Step #1 - "python_test": test_debug_counters_are_not_created_when_debug_is_false (counters_test.TestCounters.test_debug_counters_are_not_created_when_debug_is_false) ... ok
Step #1 - "python_test": test_get_counters_string (counters_test.TestCounters.test_get_counters_string) ... ok
Step #1 - "python_test": test_get_non_existent_counter (counters_test.TestCounters.test_get_non_existent_counter) ... ok
Step #1 - "python_test": test_max_counter (counters_test.TestCounters.test_max_counter) ... ok
Step #1 - "python_test": test_min_counter (counters_test.TestCounters.test_min_counter) ... ok
Step #1 - "python_test": test_prefix (counters_test.TestCounters.test_prefix) ... ok
Step #1 - "python_test": test_processing_rate (counters_test.TestCounters.test_processing_rate) ... ok
Step #1 - "python_test": test_set_counter_overwrites_value (counters_test.TestCounters.test_set_counter_overwrites_value)
Step #1 - "python_test": Verify set_counter overrides current value. ... ok
Step #1 - "python_test": test_show_counters_produces_correct_output (counters_test.TestCounters.test_show_counters_produces_correct_output) ... ok
Step #1 - "python_test": test_convert_v1_to_v2_coordinate_request (dc_api_wrapper_test.TestDCAPIWrapper.test_convert_v1_to_v2_coordinate_request)
Step #1 - "python_test": Test coordinate request conversion from v1 to v2. ... ok
Step #1 - "python_test": test_convert_v2_to_v1_coordinate_response (dc_api_wrapper_test.TestDCAPIWrapper.test_convert_v2_to_v1_coordinate_response)
Step #1 - "python_test": Test coordinate response conversion from v2 to v1. ... ok
Step #1 - "python_test": test_dc_api_batched_wrapper (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_batched_wrapper)
Step #1 - "python_test": Test DC API wrapper for batched calls. ... ok
Step #1 - "python_test": test_dc_api_get_node_property (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_get_node_property)
Step #1 - "python_test": Test API wrapper to get a single property for a node. ... ok
Step #1 - "python_test": test_dc_api_get_node_property_multi_v2 (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_get_node_property_multi_v2)
Step #1 - "python_test": Test API wrapper to get multiple properties for a node. ... ok
Step #1 - "python_test": test_dc_api_is_defined_dcid (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_is_defined_dcid)
Step #1 - "python_test": Test API wrapper for defined DCIDs. ... ok
Step #1 - "python_test": test_dc_api_resolve_latlng (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_resolve_latlng)
Step #1 - "python_test": Test API wrapper for latlng resolution. ... ok
Step #1 - "python_test": test_dc_api_resolve_latlng_v1_compat_shape (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_resolve_latlng_v1_compat_shape)
Step #1 - "python_test": Test latlng resolution supports v1 compatibility response shape. ... ok
Step #1 - "python_test": test_dc_api_resolve_placeid (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_resolve_placeid)
Step #1 - "python_test": Test API wrapper to resolve entity using a placeid. ... ok
Step #1 - "python_test": test_dc_api_wrapper (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper)
Step #1 - "python_test": Test the wrapper for DC API. ... ok
Step #1 - "python_test": test_dc_api_wrapper_attempts_no_extra_retries (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_attempts_no_extra_retries)
Step #1 - "python_test": Test wrapper doesn't retry beyond the max attempts. ... ok
Step #1 - "python_test": test_dc_api_wrapper_does_not_retry_http_400 (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_does_not_retry_http_400)
Step #1 - "python_test": Test wrapper does not retry non-transient HTTP errors. ... ERROR:absl:Got status: 400, not retrying.
Step #1 - "python_test": ok
Step #1 - "python_test": test_dc_api_wrapper_keyerror_returns_none_without_retry (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_keyerror_returns_none_without_retry)
Step #1 - "python_test": Test wrapper returns None and does not retry for KeyError. ... ERROR:absl:Got exception for api: <Mock id='140714224347824'>, 'missing-dcid'
Step #1 - "python_test": ok
Step #1 - "python_test": test_dc_api_wrapper_non_positive_retries_defaults_to_one_attempt (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_non_positive_retries_defaults_to_one_attempt)
Step #1 - "python_test": Test non-positive retries are treated as one attempt. ... ok
Step #1 - "python_test": test_dc_api_wrapper_non_retryable_exception_has_note (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_non_retryable_exception_has_note)
Step #1 - "python_test": Test non-retryable exceptions bubble once with added context note. ... ok
Step #1 - "python_test": test_dc_api_wrapper_retries_http_429 (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_retries_http_429)
Step #1 - "python_test": Test wrapper retries HTTP 429 and succeeds. ... ok
Step #1 - "python_test": test_dc_api_wrapper_retries_http_503_until_exhausted (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_retries_http_503_until_exhausted)
Step #1 - "python_test": Test wrapper retries HTTP 503 until max attempts are exhausted. ... ok
Step #1 - "python_test": test_dc_api_wrapper_stops_after_success (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_api_wrapper_stops_after_success)
Step #1 - "python_test": Test wrapper stops retrying after a successful response. ... ok
Step #1 - "python_test": test_dc_get_node_property_values (dc_api_wrapper_test.TestDCAPIWrapper.test_dc_get_node_property_values)
Step #1 - "python_test": Test API wrapper to get all property:values for a node. ... ok
Step #1 - "python_test": test_non_v2_config_rejected (dc_api_wrapper_test.TestDCAPIWrapper.test_non_v2_config_rejected)
Step #1 - "python_test": Test wrapper rejects non-V2 dc_api_version values. ... ok
Step #1 - "python_test": test_download_and_unzip_file (download_util_script_test.DownloadFileTest.test_download_and_unzip_file) ... ok
Step #1 - "python_test": test_download_failure (download_util_script_test.DownloadFileTest.test_download_failure) ... WARNING:absl:Direct HEAD request failed for 'http://example.com/error' (cannot get Last-Modified): 404 Client Error: Not Found for url: http://example.com/error
Step #1 - "python_test": ERROR:absl:Processing failed: File system error for 'http://example.com/error'. Error: 404 Client Error: Not Found for url: http://example.com/error
Step #1 - "python_test": ok
Step #1 - "python_test": test_download_file_without_extension (download_util_script_test.DownloadFileTest.test_download_file_without_extension) ... ok
Step #1 - "python_test": test_download_invalid_url (download_util_script_test.DownloadFileTest.test_download_invalid_url) ... ERROR:absl:Invalid URL format or missing scheme for 'invalid_url'. Please ensure URL starts with 'http://' or 'https://'.
Step #1 - "python_test": ok
Step #1 - "python_test": test_download_txt_file (download_util_script_test.DownloadFileTest.test_download_txt_file) ... ok
Step #1 - "python_test": test_download_file (download_util_test.TestCounters.test_download_file) ... ok
Step #1 - "python_test": test_prefilled_url (download_util_test.TestCounters.test_prefilled_url) ... ok
Step #1 - "python_test": test_request_url (download_util_test.TestCounters.test_request_url) ... ok
Step #1 - "python_test": test_fetch_all_provenances_api_failure (extract_source_dataset_provenance_test.TestExtractSourceDatasetProvenance.test_fetch_all_provenances_api_failure)
Step #1 - "python_test": Tests correct handling of exceptions thrown by the API wrapper. ... ERROR:absl:Error fetching provenances: API failure
Step #1 - "python_test": ok
Step #1 - "python_test": test_fetch_all_provenances_empty (extract_source_dataset_provenance_test.TestExtractSourceDatasetProvenance.test_fetch_all_provenances_empty)
Step #1 - "python_test": Tests execution flow when no provenances are returned. ... WARNING:absl:No provenances found.
Step #1 - "python_test": ok
Step #1 - "python_test": test_fetch_all_provenances_success (extract_source_dataset_provenance_test.TestExtractSourceDatasetProvenance.test_fetch_all_provenances_success)
Step #1 - "python_test": Tests successful fetches and hierarchy resolver end-to-end. ... ok
Step #1 - "python_test": test_get_node_dcid (extract_source_dataset_provenance_test.TestExtractSourceDatasetProvenance.test_get_node_dcid)
Step #1 - "python_test": Tests extracting DCID values from node property structures. ... ok
Step #1 - "python_test": test_get_node_property (extract_source_dataset_provenance_test.TestExtractSourceDatasetProvenance.test_get_node_property)
Step #1 - "python_test": Tests extracting string values from node property structures. ... ok
Step #1 - "python_test": test_read_write (file_util_test.FileIOTest.test_read_write) ... ok
Step #1 - "python_test": test_file_get_estimate_num_rows (file_util_test.FileUtilsTest.test_file_get_estimate_num_rows) ... ok
Step #1 - "python_test": test_file_get_matching (file_util_test.FileUtilsTest.test_file_get_matching) ... ok
Step #1 - "python_test": test_file_load_csv_dict (file_util_test.FileUtilsTest.test_file_load_csv_dict) ... ok
Step #1 - "python_test": test_file_type (file_util_test.FileUtilsTest.test_file_type) ... ok
Step #1 - "python_test": test_file_write_load_py_dict (file_util_test.FileUtilsTest.test_file_write_load_py_dict) ... ok
Step #1 - "python_test": test_aa2 (latlng2place_mapsapi_test.Latlng2PlaceMapsAPITest.test_aa2) ... ok
Step #1 - "python_test": test_country (latlng2place_mapsapi_test.Latlng2PlaceMapsAPITest.test_country) ... ok
Step #1 - "python_test": test_main (latlng_recon_geojson_test.LatlngReconGeojsonTest.test_main) ... ok
Step #1 - "python_test": test_basic (latlng_recon_service_test.LatlngReconServiceTest.test_basic) ... ok
Step #1 - "python_test": test_filter (latlng_recon_service_test.LatlngReconServiceTest.test_filter) ... ok
Step #1 - "python_test": test_dict_list_to_mcf_str (mcf_dict_util_test.TestMCFDict.test_dict_list_to_mcf_str) ... ok
Step #1 - "python_test": test_drop_nodes (mcf_dict_util_test.TestMCFDict.test_drop_nodes) ... ok
Step #1 - "python_test": test_get_dcid_node (mcf_dict_util_test.TestMCFDict.test_get_dcid_node) ... ok
Step #1 - "python_test": test_mcf_dict_rename_namespace (mcf_dict_util_test.TestMCFDict.test_mcf_dict_rename_namespace) ... ok
Step #1 - "python_test": test_mcf_dict_rename_prop (mcf_dict_util_test.TestMCFDict.test_mcf_dict_rename_prop) ... ok
Step #1 - "python_test": test_mcf_dict_rename_prop_value (mcf_dict_util_test.TestMCFDict.test_mcf_dict_rename_prop_value) ... ok
Step #1 - "python_test": test_mcf_to_dict_list (mcf_dict_util_test.TestMCFDict.test_mcf_to_dict_list) ... ok
Step #1 - "python_test": test_node_list_check_existence_dc (mcf_dict_util_test.TestMCFDict.test_node_list_check_existence_dc) ... ok
Step #1 - "python_test": test_node_list_check_existence_node_list (mcf_dict_util_test.TestMCFDict.test_node_list_check_existence_node_list) ... ok
Step #1 - "python_test": test_example_usage (mcf_template_filler_test.MCFTemplateFillerTest.test_example_usage) ... ok
Step #1 - "python_test": test_pop_and_2_obs_with_all_pv (mcf_template_filler_test.MCFTemplateFillerTest.test_pop_and_2_obs_with_all_pv)
Step #1 - "python_test": Use separate templates for Pop Obs, and use Obs template repeatedly. ... ok
Step #1 - "python_test": test_pop_with_missing_req_pv (mcf_template_filler_test.MCFTemplateFillerTest.test_pop_with_missing_req_pv) ... ok
Step #1 - "python_test": test_require_node_name (mcf_template_filler_test.MCFTemplateFillerTest.test_require_node_name) ... ok
Step #1 - "python_test": test_unified_pop_obs_with_missing_optional_pv (mcf_template_filler_test.MCFTemplateFillerTest.test_unified_pop_obs_with_missing_optional_pv) ... ok
Step #1 - "python_test": test_place_id_resolution_by_name (state_division_to_dcid_test.PlaceMapTest.test_place_id_resolution_by_name) ... ok
Step #1 - "python_test": test_boolean_naming (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_boolean_naming) ... ok
Step #1 - "python_test": test_double_underscore (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_double_underscore) ... ok
Step #1 - "python_test": test_ignore_props (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_ignore_props) ... ok
Step #1 - "python_test": test_legacy_mapping (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_legacy_mapping) ... ok
Step #1 - "python_test": test_measured_property (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measured_property) ... ok
Step #1 - "python_test": test_measurement_constraint_removal (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measurement_constraint_removal) ... ok
Step #1 - "python_test": test_measurement_denominator (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measurement_denominator) ... ok
Step #1 - "python_test": test_measurement_qualifier (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_measurement_qualifier) ... ok
Step #1 - "python_test": test_naics_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_naics_name_generation) ... ok
Step #1 - "python_test": test_namespace_removal (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_namespace_removal) ... ok
Step #1 - "python_test": test_prepend_append_replace (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_prepend_append_replace) ... ok
Step #1 - "python_test": test_quantity_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_quantity_name_generation) ... ok
Step #1 - "python_test": test_quantity_range_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_quantity_range_name_generation) ... ok
Step #1 - "python_test": test_soc_map (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_soc_map) ... ok
Step #1 - "python_test": test_soc_name_generation (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_soc_name_generation) ... ok
Step #1 - "python_test": test_sorted_constraints (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_sorted_constraints) ... ok
Step #1 - "python_test": test_stat_type (statvar_dcid_generator_test.TestStatVarDcidGenerator.test_stat_type) ... ok
Step #1 - "python_test": test_timer_start (timer_test.TimerTest.test_timer_start) ... ok
Step #1 - "python_test": test_timer_stop (timer_test.TimerTest.test_timer_stop) ... ok
Step #1 - "python_test": test_timer_time (timer_test.TimerTest.test_timer_time) ... ok
Step #1 - "python_test": test_xml_with_different_data_types (xml_to_json_test.XMLToJsonConverterTest.test_xml_with_different_data_types) ... ok
Step #1 - "python_test":
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": Ran 101 tests in 5.092s
Step #1 - "python_test":
Step #1 - "python_test": OK
Step #1 - "python_test": #### Testing Python code in tools/
Step #1 - "python_test": /workspace/tools/statvar_importer/place/place_name_matcher.py:14: SyntaxWarning: invalid escape sequence '\`'
Step #1 - "python_test": """Script to lookup places by names.
Step #1 - "python_test": test_diff_analysis (import_differ.import_differ_test.TestImportDiffer.test_diff_analysis) ... ok
Step #1 - "python_test": test_empty_differ_file_runs_validation (import_validation.import_validation_test.ImportValidationTest.test_empty_differ_file_runs_validation)
Step #1 - "python_test": Tests that a differ file with only headers (empty DataFrame) still runs ... ok
Step #1 - "python_test": test_failed_run (import_validation.import_validation_test.ImportValidationTest.test_failed_run)
Step #1 - "python_test": Tests a failed run of the script. ... ok
Step #1 - "python_test": test_missing_differ_file_does_not_throw_exception (import_validation.import_validation_test.ImportValidationTest.test_missing_differ_file_does_not_throw_exception)
Step #1 - "python_test": Tests that a missing differ file does not cause the runner to throw an ... ok
Step #1 - "python_test": test_missing_required_file_fails (import_validation.import_validation_test.ImportValidationTest.test_missing_required_file_fails)
Step #1 - "python_test": Tests that the script fails when a required data file is missing. ... ok
Step #1 - "python_test": test_sql_validator_fails (import_validation.import_validation_test.ImportValidationTest.test_sql_validator_fails)
Step #1 - "python_test": Tests that the SQL_VALIDATOR works in a run. ... ok
Step #1 - "python_test": test_successful_run (import_validation.import_validation_test.ImportValidationTest.test_successful_run)
Step #1 - "python_test": Tests a successful run of the script. ... ok
Step #1 - "python_test": test_variables_filtering (import_validation.import_validation_test.ImportValidationTest.test_variables_filtering)
Step #1 - "python_test": Tests that the runner correctly applies the 'variables' filter. ... ok
Step #1 - "python_test": test_generate_csv_report (import_validation.report_generator_test.TestReportGenerator.test_generate_csv_report) ... ok
Step #1 - "python_test": test_generate_json_report (import_validation.report_generator_test.TestReportGenerator.test_generate_json_report) ... ok
Step #1 - "python_test": test_generate_summary_report_placeholder (import_validation.report_generator_test.TestReportGenerator.test_generate_summary_report_placeholder) ... ok
Step #1 - "python_test": test_init_raises_error_if_required_file_is_missing (import_validation.runner_test.TestValidationRunner.test_init_raises_error_if_required_file_is_missing)
Step #1 - "python_test": Tests that the constructor raises a ValueError if a required file is missing. ... ok
Step #1 - "python_test": test_runner_applies_filters_correctly (import_validation.runner_test.TestValidationRunner.test_runner_applies_filters_correctly) ... WARNING:absl:
Step #1 - "python_test": ok
Step #1 - "python_test": test_runner_calls_correct_validator_function (import_validation.runner_test.TestValidationRunner.test_runner_calls_correct_validator_function) ... WARNING:absl:
Step #1 - "python_test": ok
Step #1 - "python_test": test_runner_deleted_records_percent (import_validation.runner_test.TestValidationRunner.test_runner_deleted_records_percent) ... WARNING:absl:
Step #1 - "python_test": ok
Step #1 - "python_test": test_runner_handles_failed_validation (import_validation.runner_test.TestValidationRunner.test_runner_handles_failed_validation) ... WARNING:absl:It failed
Step #1 - "python_test": ok
Step #1 - "python_test": test_runner_handles_unknown_validation (import_validation.runner_test.TestValidationRunner.test_runner_handles_unknown_validation) ... ok
Step #1 - "python_test": test_runner_uses_custom_name (import_validation.runner_test.TestValidationRunner.test_runner_uses_custom_name) ... WARNING:absl:
Step #1 - "python_test": ok
Step #1 - "python_test": test_runner_writes_correct_output (import_validation.runner_test.TestValidationRunner.test_runner_writes_correct_output) ... WARNING:absl:Too many deletions, found 100
Step #1 - "python_test": ok
Step #1 - "python_test": test_both_missing_files_raise (import_validation.validation_config_test.ValidationConfigTest.test_both_missing_files_raise) ... ok
Step #1 - "python_test": test_definitions_are_deep_merged (import_validation.validation_config_test.ValidationConfigTest.test_definitions_are_deep_merged) ... ok
Step #1 - "python_test": test_rule_list_params_are_replaced (import_validation.validation_config_test.ValidationConfigTest.test_rule_list_params_are_replaced)
Step #1 - "python_test": Lists should follow OmegaConf default: override list replaces base. ... ok
Step #1 - "python_test": test_rules_are_deep_merged_by_rule_id (import_validation.validation_config_test.ValidationConfigTest.test_rules_are_deep_merged_by_rule_id) ... ok
Step #1 - "python_test": test_filter_with_dcids (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_dcids)
Step #1 - "python_test": Tests filtering by a list of exact StatVar DCIDs. ... ok
Step #1 - "python_test": test_filter_with_multiple_substrings_match (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_multiple_substrings_match)
Step #1 - "python_test": Tests that all substrings must match for a row to be included. ... ok
Step #1 - "python_test": test_filter_with_non_matching_dcid (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_non_matching_dcid)
Step #1 - "python_test": Tests that a non-matching DCID returns an empty DataFrame. ... ok
Step #1 - "python_test": test_filter_with_non_matching_regex (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_non_matching_regex)
Step #1 - "python_test": Tests that a non-matching regex returns an empty DataFrame. ... ok
Step #1 - "python_test": test_filter_with_non_matching_substring (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_non_matching_substring)
Step #1 - "python_test": Tests that a non-matching substring returns an empty DataFrame. ... ok
Step #1 - "python_test": test_filter_with_regex (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_regex)
Step #1 - "python_test": Tests filtering by a regex pattern. ... ok
Step #1 - "python_test": test_filter_with_single_substring_match (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_single_substring_match)
Step #1 - "python_test": Tests filtering by a single matching substring. ... ok
Step #1 - "python_test": test_filter_with_substring_existence (import_validation.validation_util_test.TestFilterDataFrame.test_filter_with_substring_existence)
Step #1 - "python_test": Tests filtering for the existence of a substring. ... ok
Step #1 - "python_test": test_multiple_filter_types_are_unioned (import_validation.validation_util_test.TestFilterDataFrame.test_multiple_filter_types_are_unioned)
Step #1 - "python_test": Tests that results from different filter types are combined (union). ... ok
Step #1 - "python_test": test_no_filters (import_validation.validation_util_test.TestFilterDataFrame.test_no_filters)
Step #1 - "python_test": Tests that providing no filters returns the original DataFrame. ... ok
Step #1 - "python_test": test_generate_goldens (import_validation.validator_goldens_test.TestValidatorGoldens.test_generate_goldens) ... ok
Step #1 - "python_test": test_generate_goldens_all_props (import_validation.validator_goldens_test.TestValidatorGoldens.test_generate_goldens_all_props) ... ok
Step #1 - "python_test": test_generate_goldens_all_props_mixed_schema (import_validation.validator_goldens_test.TestValidatorGoldens.test_generate_goldens_all_props_mixed_schema) ... ok
Step #1 - "python_test": test_generate_goldens_with_sampling (import_validation.validator_goldens_test.TestValidatorGoldens.test_generate_goldens_with_sampling) ... ok
Step #1 - "python_test": test_get_validator_goldens_config (import_validation.validator_goldens_test.TestValidatorGoldens.test_get
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/cloud-build/builds/b80650c9-de3c-4d48-8923-2aed15d54abd?project=879489846695.]
...
s_1111-11-11T111111.csv
Step #1 - "python_test": INFO:absl:Completed with 2244
Step #1 - "python_test": observation for 282
Step #1 - "python_test": StatVars at 8 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmpo_cff4y3/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: s0902_alabama/ACSST5Y2018.S0902_data_with_overlays_2021-10-04T084907.csv
Step #1 - "python_test": INFO:absl:Completed with 108
Step #1 - "python_test": observation for 108
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:Processing: s0902_alabama/ACSST5Y2019.S0902_data_with_overlays_2021-10-04T084907.csv
Step #1 - "python_test": INFO:absl:Completed with 108
Step #1 - "python_test": observation for 108
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmph1hp2co1/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: subject_tables_2405_test/ACSST5Y2023.S2405_data_with_overlays_1111-11-11T111111.csv
Step #1 - "python_test": INFO:absl:Completed with 1244
Step #1 - "python_test": observation for 168
Step #1 - "python_test": StatVars at 7 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmpbhi28cmt/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2019.S2601A_data_with_overlays_2022-01-24T024456.csv
Step #1 - "python_test": INFO:absl:Completed with 786
Step #1 - "python_test": observation for 786
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2012.S2601A_data_with_overlays_2022-01-24T024456.csv
Step #1 - "python_test": INFO:absl:Completed with 762
Step #1 - "python_test": observation for 762
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2010.S2601A_data_with_overlays_2022-01-24T024456.csv
Step #1 - "python_test": INFO:absl:Completed with 716
Step #1 - "python_test": observation for 716
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmp09xqfud4/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: S2407_Alabama/ACSST5Y2019.S2407_data_with_overlays_2021-10-26T015419.csv
Step #1 - "python_test": INFO:absl:Completed with 168
Step #1 - "python_test": observation for 168
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmpoebz3_gl/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2024.S1251_data_with_overlays_1111-11-11T111111.csv
Step #1 - "python_test": INFO:absl:Completed with 9288
Step #1 - "python_test": observation for 108
Step #1 - "python_test": StatVars at 86 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmp9ff0z9zt/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: subject_tables_S2703_test/ACSST5Y2023.S2703_data_with_overlays_1111-11-11T111111.csv
Step #1 - "python_test": INFO:absl:Completed with 816
Step #1 - "python_test": observation for 102
Step #1 - "python_test": StatVars at 8 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmp636w47sa/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: S2406_Alabama/ACSST5Y2019.S2406_data_with_overlays_2021-10-06T043910.csv
Step #1 - "python_test": INFO:absl:Completed with 72
Step #1 - "python_test": observation for 72
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmpz7ol6rem/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2019.S2602_data_with_overlays_2022-01-17T023920.csv
Step #1 - "python_test": INFO:absl:Completed with 859
Step #1 - "python_test": observation for 859
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmp2t_5ryg3/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2019.S2601APR_data_with_overlays_2022-01-24T024541.csv
Step #1 - "python_test": INFO:absl:Completed with 768
Step #1 - "python_test": observation for 768
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2012.S2601APR_data_with_overlays_2022-01-24T024541.csv
Step #1 - "python_test": INFO:absl:Completed with 734
Step #1 - "python_test": observation for 734
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:Processing: ACSST5Y2010.S2601APR_data_with_overlays_2022-01-24T024541.csv
Step #1 - "python_test": INFO:absl:Completed with 691
Step #1 - "python_test": observation for 691
Step #1 - "python_test": StatVars at 1 places.
Step #1 - "python_test":
Step #1 - "python_test": INFO:absl:processing of subject table is complete: the summary of the
Step #1 - "python_test": process is available at /tmp/tmpmvt5xysu/test_summary.json along with the generated
Step #1 - "python_test": output files.
Step #1 - "python_test": ok
Step #1 - "python_test": test_e2e (us_census.decennial.process_test.ProcessTest.test_e2e) ... ok
Step #1 - "python_test": test_bad_tmcf_variable_measured_two_equals_exception (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_bad_tmcf_variable_measured_two_equals_exception) ... ok
Step #1 - "python_test": test_bad_tmcf_variable_measured_two_question_marks_exception (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_bad_tmcf_variable_measured_two_question_marks_exception) ... ok
Step #1 - "python_test": test_csv_file_not_found_exception (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_csv_file_not_found_exception) ... ok
Step #1 - "python_test": test_get_places_not_found_uses_v2_wrapper (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_get_places_not_found_uses_v2_wrapper) ... ok
Step #1 - "python_test": test_process_enhanced_tmcf_medium_success (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_process_enhanced_tmcf_medium_success) ... ok
Step #1 - "python_test": test_simple_opaque_success (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_simple_opaque_success) ... ok
Step #1 - "python_test": test_simple_success (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_simple_success) ... ok
Step #1 - "python_test": test_tmcf_file_not_found_exception (us_census.enhanced_tmcf.process_etmcf_test.Process_ETMCF_Test.test_tmcf_file_not_found_exception) ... ok
Step #1 - "python_test": test_download_data_parses_geoid_subareas_only (us_census.geojsons_low_res.download_test.DownloadTest.test_download_data_parses_geoid_subareas_only) ... ok
Step #1 - "python_test": test_download_data_raises_for_invalid_level (us_census.geojsons_low_res.download_test.DownloadTest.test_download_data_raises_for_invalid_level) ... ok
Step #1 - "python_test": test_alabama (us_census.geojsons_low_res.simplify_test.GeojsonSimplifierTest.test_alabama)
Step #1 - "python_test": Simplifies file ./test-data/alabama.geojson and compares result against ./test-data/alabama-simple.geojson ... INFO:absl:Original number of points = 1909.
Step #1 - "python_test": INFO:absl:Simplified number of points = 132.
Step #1 - "python_test": ok
Step #1 - "python_test": test_california (us_census.geojsons_low_res.simplify_test.GeojsonSimplifierTest.test_california)
Step #1 - "python_test": Simplifies file ./test-data/california.geojson and compares result against ./test-data/california-simple.geojson ... INFO:absl:Original number of points = 5078.
Step #1 - "python_test": INFO:absl:Simplified number of points = 384.
Step #1 - "python_test": ok
Step #1 - "python_test": test_larger_adjustment (us_census.geojsons_low_res.simplify_test.GeojsonSimplifierTest.test_larger_adjustment)
Step #1 - "python_test": Tests a moderate adjustment (removed point is poorly approximated by the resulting line) on a small, custom-made Polygon. ... INFO:absl:Original number of points = 5.
Step #1 - "python_test": INFO:absl:Simplified number of points = 3.
Step #1 - "python_test": ok
Step #1 - "python_test": test_small_adjustment (us_census.geojsons_low_res.simplify_test.GeojsonSimplifierTest.test_small_adjustment)
Step #1 - "python_test": Tests a small adjustment (removed point is very well approximated by the resulting line) on a small, custom-made Polygon. ... INFO:absl:Original number of points = 4.
Step #1 - "python_test": INFO:absl:Simplified number of points = 3.
Step #1 - "python_test": ok
Step #1 - "python_test": test_process (us_eia.eia_860.main_test.TestProcess.test_process) ... ok
Step #1 - "python_test": test_cleanup_name (us_eia.opendata.process.common_test.TestProcess.test_cleanup_name) ... ok
Step #1 - "python_test": test_process (us_eia.opendata.process.common_test.TestProcess.test_process) ... INFO:absl:Processing COAL
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.79
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 980000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.89
Step #1 - "python_test": total = 98
Step #1 - "python_test": INFO:absl:Processing ELEC
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.80
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 90000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.90
Step #1 - "python_test": total = 9
Step #1 - "python_test": INFO:absl:Processing INTL
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.80
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 30000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.91
Step #1 - "python_test": total = 3
Step #1 - "python_test": INFO:absl:Processing NG
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.80
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 40000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.91
Step #1 - "python_test": total = 4
Step #1 - "python_test": INFO:absl:Processing NUC_STATUS
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.80
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 60000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.91
Step #1 - "python_test": total = 6
Step #1 - "python_test": INFO:absl:Processing PET
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.81
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 40000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.92
Step #1 - "python_test": total = 4
Step #1 - "python_test": INFO:absl:Processing SEDS
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.81
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 30000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.92
Step #1 - "python_test": total = 3
Step #1 - "python_test": INFO:absl:Processing TOTAL
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.81
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 30000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.92
Step #1 - "python_test": total = 3
Step #1 - "python_test": INFO:absl:Processing NG
Step #1 - "python_test": INFO:absl:Counters:
Step #1 - "python_test": process-mem = 1743937536
Step #1 - "python_test": process-mem-rss = 346406912
Step #1 - "python_test": process-time-sys-secs = 2.30
Step #1 - "python_test": process-time-user-secs = 136.82
Step #1 - "python_test": process_elapsed_time = 0.00
Step #1 - "python_test": process_remaining_time = 100000.00
Step #1 - "python_test": processed = 0
Step #1 - "python_test": start_time = 610.92
Step #1 - "python_test": total = 10
Step #1 - "python_test": ok
Step #1 - "python_test": test_main (us_fema.national_risk_index.generate_schema_and_tmcf_test.ProcessFemaNriFileTest.test_main) ... ok
Step #1 - "python_test": test_county_missing_trailing_zero (us_fema.national_risk_index.process_data_test.FormatGeoIDTest.test_county_missing_trailing_zero) ... ok
Step #1 - "python_test": test_county_no_change_needed (us_fema.national_risk_index.process_data_test.FormatGeoIDTest.test_county_no_change_needed) ... ok
Step #1 - "python_test": test_tract_missing_trailing_zero (us_fema.national_risk_index.process_data_test.FormatGeoIDTest.test_tract_missing_trailing_zero) ... ok
Step #1 - "python_test": test_tract_no_change_needed (us_fema.national_risk_index.process_data_test.FormatGeoIDTest.test_tract_no_change_needed) ... ok
Step #1 - "python_test": test_process_county_file (us_fema.national_risk_index.process_data_test.ProcessFemaNriFileTest.test_process_county_file) ... ok
Step #1 - "python_test": test_process_tract_file (us_fema.national_risk_index.process_data_test.ProcessFemaNriFileTest.test_process_tract_file) ... ok
Step #1 - "python_test": test_preprocess (us_gs.earthquake.preprocess_test.USGSEarthquakePreprocessTest.test_preprocess) ... INFO:absl:Num coords to be resolved 5
Step #1 - "python_test": INFO:absl:Finished resolving affected places.
Step #1 - "python_test": ok
Step #1 - "python_test": test_build_import_codes_filters_to_dc_countries (world_bank.boundaries.country_boundaries_mcf_generator_test.CountyBoundariesMcfGeneratorTest.test_build_import_codes_filters_to_dc_countries) ... ok
Step #1 - "python_test": test_output_mcf (world_bank.boundaries.country_boundaries_mcf_generator_test.CountyBoundariesMcfGeneratorTest.test_output_mcf) ... ok
Step #1 - "python_test":
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": Ran 158 tests in 136.329s
Step #1 - "python_test":
Step #1 - "python_test": OK
Step #1 - "python_test": sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/workspace/scripts/aqicn/cities.csv' mode='r' encoding='UTF-8'>
Step #1 - "python_test": #### Testing Python code in agents/common/
Step #1 - "python_test": test_cli_and_adc_failures_are_independent (scripts.check_dependencies_test.CheckDependenciesTest.test_cli_and_adc_failures_are_independent) ... ok
Step #1 - "python_test": test_default_checks_both_authentication_paths_without_leaking_tokens (scripts.check_dependencies_test.CheckDependenciesTest.test_default_checks_both_authentication_paths_without_leaking_tokens) ... ok
Step #1 - "python_test": test_empty_cli_token_fails_but_adc_is_still_checked (scripts.check_dependencies_test.CheckDependenciesTest.test_empty_cli_token_fails_but_adc_is_still_checked) ... ok
Step #1 - "python_test": test_help_and_invalid_arguments (scripts.check_dependencies_test.CheckDependenciesTest.test_help_and_invalid_arguments) ... ok
Step #1 - "python_test": test_invalid_sibling_import_checkout_is_advisory (scripts.check_dependencies_test.CheckDependenciesTest.test_invalid_sibling_import_checkout_is_advisory) ... ok
Step #1 - "python_test": test_local_checks_commands_and_skips_authentication (scripts.check_dependencies_test.CheckDependenciesTest.test_local_checks_commands_and_skips_authentication) ... ok
Step #1 - "python_test": test_missing_local_dependency_skips_authentication (scripts.check_dependencies_test.CheckDependenciesTest.test_missing_local_dependency_skips_authentication) ... ok
Step #1 - "python_test": test_missing_python_environment_is_reported (scripts.check_dependencies_test.CheckDependenciesTest.test_missing_python_environment_is_reported) ... ok
Step #1 - "python_test": test_python_dependency_failure_is_reported (scripts.check_dependencies_test.CheckDependenciesTest.test_python_dependency_failure_is_reported) ... ok
Step #1 - "python_test": test_unsupported_exact_gcloud_command_is_reported (scripts.check_dependencies_test.CheckDependenciesTest.test_unsupported_exact_gcloud_command_is_reported) ... ok
Step #1 - "python_test": test_all_registered_modules_are_checked (scripts.check_python_dependencies_test.CheckPythonDependenciesTest.test_all_registered_modules_are_checked) ... ok
Step #1 - "python_test": test_collects_every_unavailable_module (scripts.check_python_dependencies_test.CheckPythonDependenciesTest.test_collects_every_unavailable_module) ... ok
Step #1 - "python_test": test_main_rejects_arguments (scripts.check_python_dependencies_test.CheckPythonDependenciesTest.test_main_rejects_arguments) ... ok
Step #1 - "python_test": test_main_reports_one_setup_command_for_all_failures (scripts.check_python_dependencies_test.CheckPythonDependenciesTest.test_main_reports_one_setup_command_for_all_failures) ... ok
Step #1 - "python_test": test_registered_distributions_match_agent_requirements (scripts.check_python_dependencies_test.CheckPythonDependenciesTest.test_registered_distributions_match_agent_requirements) ... ok
Step #1 - "python_test": test_accepts_representative_flag_sets_without_running (scripts.cli_flags_test.CliFlagsTest.test_accepts_representative_flag_sets_without_running) ... ok
Step #1 - "python_test": test_help_lists_script_flags (scripts.cli_flags_test.CliFlagsTest.test_help_lists_script_flags) ... ok
Step #1 - "python_test": test_rejects_invalid_summary_limit_before_cloud_access (scripts.cli_flags_test.CliFlagsTest.test_rejects_invalid_summary_limit_before_cloud_access) ... ok
Step #1 - "python_test": test_rejects_missing_required_flags (scripts.cli_flags_test.CliFlagsTest.test_rejects_missing_required_flags) ... ok
Step #1 - "python_test": test_builds_version_uri (scripts.list_import_summaries_test.ListImportSummariesTest.test_builds_version_uri) ... ok
Step #1 - "python_test": test_derives_exact_prefix_and_bounded_glob (scripts.list_import_summaries_test.ListImportSummariesTest.test_derives_exact_prefix_and_bounded_glob) ... ok
Step #1 - "python_test": test_rejects_invalid_identity_and_limit (scripts.list_import_summaries_test.ListImportSummariesTest.test_rejects_invalid_identity_and_limit) ... ok
Step #1 - "python_test": test_reports_invalid_or_mismatched_selected_summaries (scripts.list_import_summaries_test.ListImportSummariesTest.test_reports_invalid_or_mismatched_selected_summaries) ... ok
Step #1 - "python_test": test_returns_empty_bounded_result (scripts.list_import_summaries_test.ListImportSummariesTest.test_returns_empty_bounded_result) ... ok
Step #1 - "python_test": test_returns_newest_five_with_date_and_batch_job_id (scripts.list_import_summaries_test.ListImportSummariesTest.test_returns_newest_five_with_date_and_batch_job_id) ... ok
Step #1 - "python_test": test_returns_no_history_when_scan_limit_is_exceeded (scripts.list_import_summaries_test.ListImportSummariesTest.test_returns_no_history_when_scan_limit_is_exceeded) ... ok
Step #1 - "python_test": test_skips_non_timestamp_versions_without_downloading_them (scripts.list_import_summaries_test.ListImportSummariesTest.test_skips_non_timestamp_versions_without_downloading_them) ... ok
Step #1 - "python_test": test_applies_autorefresh_after_selecting_query_strategy (scripts.list_imports_test.ListImportsTest.test_applies_autorefresh_after_selecting_query_strategy) ... ok
Step #1 - "python_test": test_builds_catalog_from_both_approved_roots (scripts.list_imports_test.ListImportsTest.test_builds_catalog_from_both_approved_roots) ... ok
Step #1 - "python_test": test_builds_catalog_from_multiple_specs_in_one_manifest (scripts.list_imports_test.ListImportsTest.test_builds_catalog_from_multiple_specs_in_one_manifest) ... ok
Step #1 - "python_test": test_defaults_to_five_deterministic_results (scripts.list_imports_test.ListImportsTest.test_defaults_to_five_deterministic_results) ... ok
Step #1 - "python_test": test_fuzzy_query_returns_credible_typo_match (scripts.list_imports_test.ListImportsTest.test_fuzzy_query_returns_credible_typo_match) ... ok
Step #1 - "python_test": test_rejects_invalid_limit_autorefresh_and_duplicate_names (scripts.list_imports_test.ListImportsTest.test_rejects_invalid_limit_autorefresh_and_duplicate_names) ... ok
Step #1 - "python_test": test_rejects_malformed_manifests_and_specifications (scripts.list_imports_test.ListImportsTest.test_rejects_malformed_manifests_and_specifications) ... ok
Step #1 - "python_test": test_repository_query_finds_undata (scripts.list_imports_test.ListImportsTest.test_repository_query_finds_undata) ... ok
Step #1 - "python_test": test_returns_bucket_relative_gcs_object_prefix (scripts.list_imports_test.ListImportsTest.test_returns_bucket_relative_gcs_object_prefix) ... ok
Step #1 - "python_test": test_uses_strongest_query_strategy (scripts.list_imports_test.ListImportsTest.test_uses_strongest_query_strategy) ... ok
Step #1 - "python_test": test_batch_task_and_log_operations_require_exact_bounds (scripts.recipe_contract_test.RecipeContractTest.test_batch_task_and_log_operations_require_exact_bounds) ... ok
Step #1 - "python_test": test_gcs_recipes_keep_distinct_bounded_operations (scripts.recipe_contract_test.RecipeContractTest.test_gcs_recipes_keep_distinct_bounded_operations) ... ok
Step #1 - "python_test": test_provenance_recipe_uses_exact_batch_and_image_resources (scripts.recipe_contract_test.RecipeContractTest.test_provenance_recipe_uses_exact_batch_and_image_resources) ... ok
Step #1 - "python_test": test_python_wrapper_uses_repository_environment (scripts.recipe_contract_test.RecipeContractTest.test_python_wrapper_uses_repository_environment) ... ok
Step #1 - "python_test": test_recipes_do_not_document_mutating_gcloud_commands (scripts.recipe_contract_test.RecipeContractTest.test_recipes_do_not_document_mutating_gcloud_commands) ... ok
Step #1 - "python_test": test_recipes_have_standard_structure_and_placement (scripts.recipe_contract_test.RecipeContractTest.test_recipes_have_standard_structure_and_placement) ... ok
Step #1 - "python_test": test_scheduler_recipe_keeps_missing_body_distinct_from_bad_body (scripts.recipe_contract_test.RecipeContractTest.test_scheduler_recipe_keeps_missing_body_distinct_from_bad_body) ... ok
Step #1 - "python_test": test_spanner_recipe_supports_only_bounded_current_snapshot_queries (scripts.recipe_contract_test.RecipeContractTest.test_spanner_recipe_supports_only_bounded_current_snapshot_queries) ... ok
Step #1 - "python_test": test_all_agent_markdown_links_resolve (scripts.skill_contract_test.SkillContractTest.test_all_agent_markdown_links_resolve) ... ok
Step #1 - "python_test": test_manual_prompt_grounds_commands_by_repository_path (scripts.skill_contract_test.SkillContractTest.test_manual_prompt_grounds_commands_by_repository_path) ... ok
Step #1 - "python_test": test_registry_points_to_versioned_skill (scripts.skill_contract_test.SkillContractTest.test_registry_points_to_versioned_skill) ... ok
Step #1 - "python_test": test_runtime_environment_registry_is_minimal_and_complete (scripts.skill_contract_test.SkillContractTest.test_runtime_environment_registry_is_minimal_and_complete) ... ok
Step #1 - "python_test": test_skill_keeps_safety_and_progressive_loading (scripts.skill_contract_test.SkillContractTest.test_skill_keeps_safety_and_progressive_loading) ... ok
Step #1 - "python_test": test_skill_routes_map_to_exact_recipe_paths (scripts.skill_contract_test.SkillContractTest.test_skill_routes_map_to_exact_recipe_paths) ... ok
Step #1 - "python_test":
Step #1 - "python_test": ----------------------------------------------------------------------
Step #1 - "python_test": Ran 51 tests in 3.600s
Step #1 - "python_test":
Step #1 - "python_test": OK
Step #1 - "python_test": #### Testing Python lint
Finished Step #1 - "python_test"
PUSH
DONE
Loading