[INFO] fetching crate vanaspati 1.0.0...
[INFO] testing vanaspati-1.0.0 against master#ec6f9a5b4413f74386267ef8efc93712c2ce6db6 for pr-155739-1
[INFO] extracting crate vanaspati 1.0.0 into /workspace/builds/worker-4-tc1/source
[INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml
[INFO] started tweaking crates.io crate vanaspati 1.0.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate vanaspati 1.0.0
[INFO] tweaked toml for crates.io crate vanaspati 1.0.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate vanaspati 1.0.0 on toolchain ec6f9a5b4413f74386267ef8efc93712c2ce6db6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate vanaspati 1.0.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded hisab v1.3.0
[INFO] [stderr]   Downloaded web-sys v0.3.92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1cd8c812ae43e1815a906baefe8b3f8f632d3d20ce530cea9d5224714804147d
[INFO] running `Command { std: "docker" "start" "-a" "1cd8c812ae43e1815a906baefe8b3f8f632d3d20ce530cea9d5224714804147d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1cd8c812ae43e1815a906baefe8b3f8f632d3d20ce530cea9d5224714804147d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cd8c812ae43e1815a906baefe8b3f8f632d3d20ce530cea9d5224714804147d", kill_on_drop: false }`
[INFO] [stdout] 1cd8c812ae43e1815a906baefe8b3f8f632d3d20ce530cea9d5224714804147d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4d9084982c96dd9a1ebbebfc1785b42de42c12b81f6634cb6b414b2ca44d8cf5
[INFO] running `Command { std: "docker" "start" "-a" "4d9084982c96dd9a1ebbebfc1785b42de42c12b81f6634cb6b414b2ca44d8cf5", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling glam v0.29.3
[INFO] [stderr]    Compiling hisab v1.3.0
[INFO] [stderr]    Compiling vanaspati v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.26s
[INFO] running `Command { std: "docker" "inspect" "4d9084982c96dd9a1ebbebfc1785b42de42c12b81f6634cb6b414b2ca44d8cf5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d9084982c96dd9a1ebbebfc1785b42de42c12b81f6634cb6b414b2ca44d8cf5", kill_on_drop: false }`
[INFO] [stdout] 4d9084982c96dd9a1ebbebfc1785b42de42c12b81f6634cb6b414b2ca44d8cf5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3f4baf872ff578c1db6b0d9f1b7c42afce950b568d81c26b415375fbe057d09
[INFO] running `Command { std: "docker" "start" "-a" "b3f4baf872ff578c1db6b0d9f1b7c42afce950b568d81c26b415375fbe057d09", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling glam v0.29.3
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling hisab v1.3.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling vanaspati v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 24.13s
[INFO] running `Command { std: "docker" "inspect" "b3f4baf872ff578c1db6b0d9f1b7c42afce950b568d81c26b415375fbe057d09", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3f4baf872ff578c1db6b0d9f1b7c42afce950b568d81c26b415375fbe057d09", kill_on_drop: false }`
[INFO] [stdout] b3f4baf872ff578c1db6b0d9f1b7c42afce950b568d81c26b415375fbe057d09
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+ec6f9a5b4413f74386267ef8efc93712c2ce6db6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 43a158e47ef73eae0cee23a99de9f0fed18a70bc2fb40329273bde0ab5ac64a2
[INFO] running `Command { std: "docker" "start" "-a" "43a158e47ef73eae0cee23a99de9f0fed18a70bc2fb40329273bde0ab5ac64a2", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vanaspati-7fc313285504797d)
[INFO] [stdout] 
[INFO] [stdout] running 640 tests
[INFO] [stdout] test allelopathy::tests::concentration_accumulates ... ok
[INFO] [stdout] test allelopathy::tests::concentration_decays_without_input ... ok
[INFO] [stdout] test allelopathy::tests::concentration_frozen_no_decay ... ok
[INFO] [stdout] test allelopathy::tests::concentration_decays_faster_warm ... ok
[INFO] [stdout] test allelopathy::tests::concentration_never_negative ... ok
[INFO] [stdout] test allelopathy::tests::daily_input_none_potency ... ok
[INFO] [stdout] test allelopathy::tests::daily_input_proportional_to_biomass ... ok
[INFO] [stdout] test allelopathy::tests::daily_input_strong_more_than_mild ... ok
[INFO] [stdout] test allelopathy::tests::daily_input_zero_biomass ... ok
[INFO] [stdout] test allelopathy::tests::germination_more_sensitive_than_growth ... ok
[INFO] [stdout] test allelopathy::tests::germination_zero_at_zero ... ok
[INFO] [stdout] test allelopathy::tests::inhibition_in_valid_range ... ok
[INFO] [stdout] test allelopathy::tests::inhibition_increases_with_concentration ... ok
[INFO] [stdout] test allelopathy::tests::inhibition_increases_with_sensitivity ... ok
[INFO] [stdout] test allelopathy::tests::inhibition_zero_concentration ... ok
[INFO] [stdout] test allelopathy::tests::inhibition_zero_sensitivity ... ok
[INFO] [stdout] test allelopathy::tests::none_produces_zero ... ok
[INFO] [stdout] test allelopathy::tests::ordering ... ok
[INFO] [stdout] test biomass::tests::allocate_balanced_sums_to_input ... ok
[INFO] [stdout] test biomass::tests::allocate_negative_carbon ... ok
[INFO] [stdout] test biomass::tests::allocate_reproductive_dominant ... ok
[INFO] [stdout] test biomass::tests::allocate_stressed_root_dominant ... ok
[INFO] [stdout] test biomass::tests::allocate_zero_carbon ... ok
[INFO] [stdout] test biomass::tests::height_to_diameter_increases ... ok
[INFO] [stdout] test biomass::tests::height_to_diameter_negative ... ok
[INFO] [stdout] test biomass::tests::height_to_diameter_zero ... ok
[INFO] [stdout] test biomass::tests::height_to_leaf_area_increases ... ok
[INFO] [stdout] test biomass::tests::oak_larger_diameter_than_bamboo ... ok
[INFO] [stdout] test biomass::tests::oak_preset_stem_heaviest ... ok
[INFO] [stdout] test biomass::tests::total_kg_sums_correctly ... ok
[INFO] [stdout] test bridge::tests::allelopathy_high_toxin_sensitive ... ok
[INFO] [stdout] test bridge::tests::allelopathy_no_toxin ... ok
[INFO] [stdout] test bridge::tests::allelopathy_tolerant_less_affected ... ok
[INFO] [stdout] test allelopathy::tests::strong_produces_most ... ok
[INFO] [stdout] test bridge::tests::atmosphere_to_photosynthesis_summer ... ok
[INFO] [stdout] test bridge::tests::canopy_high_lai ... ok
[INFO] [stdout] test bridge::tests::canopy_moderate_lai ... ok
[INFO] [stdout] test bridge::tests::canopy_negative_clamped ... ok
[INFO] [stdout] test bridge::tests::dormancy_low_risk ... ok
[INFO] [stdout] test bridge::tests::dormancy_triggers ... ok
[INFO] [stdout] test bridge::tests::dormancy_warm ... ok
[INFO] [stdout] test bridge::tests::fire_weather_cool_humid ... ok
[INFO] [stdout] test biomass::tests::grass_lighter_than_oak ... ok
[INFO] [stdout] test bridge::tests::fire_weather_hot_dry_windy ... ok
[INFO] [stdout] test bridge::tests::fire_weather_moderate ... ok
[INFO] [stdout] test bridge::tests::frost_risk_warm ... ok
[INFO] [stdout] test allelopathy::tests::inhibition_saturates_at_one ... ok
[INFO] [stdout] test bridge::tests::et_cooling_typical ... ok
[INFO] [stdout] test bridge::tests::et_cooling_capped ... ok
[INFO] [stdout] test bridge::tests::et_cooling_negative ... ok
[INFO] [stdout] test bridge::tests::canopy_zero_lai ... ok
[INFO] [stdout] test bridge::tests::et_cooling_zero ... ok
[INFO] [stdout] test bridge::tests::growing_conditions_summer_optimal ... ok
[INFO] [stdout] test bridge::tests::frost_risk_cold ... ok
[INFO] [stdout] test bridge::tests::frost_risk_no_risk ... ok
[INFO] [stdout] test bridge::tests::herbivore_browsing_removes_more_stem ... ok
[INFO] [stdout] test bridge::tests::atmosphere_to_photosynthesis_night ... ok
[INFO] [stdout] test bridge::tests::growing_conditions_night ... ok
[INFO] [stdout] test bridge::tests::growing_conditions_winter ... ok
[INFO] [stdout] test bridge::tests::herbivore_grazing_removes_biomass ... ok
[INFO] [stdout] test bridge::tests::growth_stress_more_sensitive_than_photosynthesis ... ok
[INFO] [stdout] test bridge::tests::humidity_to_vpd_dry ... ok
[INFO] [stdout] test bridge::tests::humidity_to_vpd_increases_with_dryness ... ok
[INFO] [stdout] test bridge::tests::humidity_to_vpd_saturated ... ok
[INFO] [stdout] test bridge::tests::mycorrhiza_enhances_uptake ... ok
[INFO] [stdout] test bridge::tests::mycorrhiza_zero_colonization ... ok
[INFO] [stdout] test bridge::tests::herbivore_zero_intensity ... ok
[INFO] [stdout] test bridge::tests::nitrogen_growth_stress_deficient ... ok
[INFO] [stdout] test bridge::tests::nitrogen_growth_stress_sufficient ... ok
[INFO] [stdout] test bridge::tests::nitrogen_growth_stress_zero ... ok
[INFO] [stdout] test bridge::tests::rainfall_basic ... ok
[INFO] [stdout] test bridge::tests::rainfall_negative_clamped ... ok
[INFO] [stdout] test bridge::tests::rainfall_zero ... ok
[INFO] [stdout] test bridge::tests::seed_production_moderate ... ok
[INFO] [stdout] test bridge::tests::seed_production_negative ... ok
[INFO] [stdout] test bridge::tests::seed_production_none ... ok
[INFO] [stdout] test bridge::tests::seed_production_zero_mass ... ok
[INFO] [stdout] test bridge::tests::seed_production_heavy ... ok
[INFO] [stdout] test bridge::tests::soil_growth_frozen ... ok
[INFO] [stdout] test bridge::tests::soil_growth_warm ... ok
[INFO] [stdout] test bridge::tests::soil_temp_frozen ... ok
[INFO] [stdout] test bridge::tests::soil_temp_hot ... ok
[INFO] [stdout] test bridge::tests::soil_temp_optimum ... ok
[INFO] [stdout] test bridge::tests::soil_water_growth_stress_moderate ... ok
[INFO] [stdout] test bridge::tests::soil_water_photosynthesis_stress_dry ... ok
[INFO] [stdout] test bridge::tests::soil_water_photosynthesis_stress_wet ... ok
[INFO] [stdout] test bridge::tests::soil_water_growth_stress_wet ... ok
[INFO] [stdout] test bridge::tests::soil_water_photosynthesis_stress_wilted ... ok
[INFO] [stdout] test bridge::tests::solar_to_par_full_sun ... ok
[INFO] [stdout] test bridge::tests::solar_to_par_negative_clamped ... ok
[INFO] [stdout] test bridge::tests::solar_to_par_zero ... ok
[INFO] [stdout] test bridge::tests::successional_advantage_full_sun_favors_pioneer ... ok
[INFO] [stdout] test bridge::tests::successional_advantage_shade_favors_climax ... ok
[INFO] [stdout] test bridge::tests::wet_bulb_no_stress ... ok
[INFO] [stdout] test bridge::tests::wet_bulb_onset ... ok
[INFO] [stdout] test bridge::tests::wet_bulb_severe ... ok
[INFO] [stdout] test bridge::tests::wind_boundary_conductance_basic ... ok
[INFO] [stdout] test bridge::tests::wind_boundary_conductance_zero_wind ... ok
[INFO] [stdout] test bridge::tests::wind_higher ... ok
[INFO] [stdout] test bridge::tests::wind_lower ... ok
[INFO] [stdout] test bridge::tests::wind_same_height ... ok
[INFO] [stdout] test bridge::tests::wind_invalid_z0 ... ok
[INFO] [stdout] test bridge::tests::wind_zero_speed ... ok
[INFO] [stdout] test decomposition::tests::all_base_rates_positive ... ok
[INFO] [stdout] test decomposition::tests::daily_rate_frozen_is_zero ... ok
[INFO] [stdout] test decomposition::tests::daily_rate_leaf_warm_moist ... ok
[INFO] [stdout] test decomposition::tests::daily_rate_wood_slower_than_leaf ... ok
[INFO] [stdout] test decomposition::tests::half_life_fast_rate_short ... ok
[INFO] [stdout] test decomposition::tests::half_life_known_value ... ok
[INFO] [stdout] test decomposition::tests::half_life_matches_remaining_mass ... ok
[INFO] [stdout] test decomposition::tests::half_life_negative_rate ... ok
[INFO] [stdout] test decomposition::tests::half_life_zero_rate ... ok
[INFO] [stdout] test decomposition::tests::leaf_decomposes_faster_than_wood ... ok
[INFO] [stdout] test decomposition::tests::mass_decomposed_complement ... ok
[INFO] [stdout] test decomposition::tests::mass_decomposed_zero_days ... ok
[INFO] [stdout] test decomposition::tests::mass_decomposed_zero_mass ... ok
[INFO] [stdout] test decomposition::tests::moisture_clamps_input ... ok
[INFO] [stdout] test decomposition::tests::moisture_dry_low ... ok
[INFO] [stdout] test decomposition::tests::moisture_optimal_near_one ... ok
[INFO] [stdout] test decomposition::tests::moisture_symmetric_around_optimum ... ok
[INFO] [stdout] test decomposition::tests::moisture_waterlogged_low ... ok
[INFO] [stdout] test decomposition::tests::nitrogen_release_basic ... ok
[INFO] [stdout] test decomposition::tests::nitrogen_release_high_cn_less_nitrogen ... ok
[INFO] [stdout] test decomposition::tests::nitrogen_release_zero_cn ... ok
[INFO] [stdout] test decomposition::tests::nitrogen_release_zero_mass ... ok
[INFO] [stdout] test decomposition::tests::remaining_mass_decreases ... ok
[INFO] [stdout] test decomposition::tests::remaining_mass_known_value ... ok
[INFO] [stdout] test decomposition::tests::remaining_mass_zero_days ... ok
[INFO] [stdout] test decomposition::tests::remaining_mass_zero_initial ... ok
[INFO] [stdout] test decomposition::tests::reproductive_fastest ... ok
[INFO] [stdout] test decomposition::tests::som_forest_preset ... ok
[INFO] [stdout] test decomposition::tests::som_passive_terminal ... ok
[INFO] [stdout] test decomposition::tests::som_multi_year_reaches_equilibrium ... ok
[INFO] [stdout] test decomposition::tests::som_total_sums ... ok
[INFO] [stdout] test decomposition::tests::som_transfer_fractions_sum_to_one ... ok
[INFO] [stdout] test decomposition::tests::som_turnover_active_feeds_slow ... ok
[INFO] [stdout] test decomposition::tests::som_turnover_conservation ... ok
[INFO] [stdout] test decomposition::tests::som_turnover_frozen_no_decomposition ... ok
[INFO] [stdout] test decomposition::tests::som_turnover_litter_enters_active ... ok
[INFO] [stdout] test decomposition::tests::som_turnover_ordering ... ok
[INFO] [stdout] test decomposition::tests::som_turnover_produces_co2 ... ok
[INFO] [stdout] test decomposition::tests::temp_factor_at_reference ... ok
[INFO] [stdout] test decomposition::tests::temp_factor_doubles_at_35 ... ok
[INFO] [stdout] test decomposition::tests::temp_factor_frozen ... ok
[INFO] [stdout] test decomposition::tests::temp_factor_halves_at_15 ... ok
[INFO] [stdout] test decomposition::tests::temp_factor_increases_with_temperature ... ok
[INFO] [stdout] test dispersal::tests::animal_dispersal_constant ... ok
[INFO] [stdout] test dispersal::tests::dandelion_travels_further_than_acorn ... ok
[INFO] [stdout] test dispersal::tests::explosive_short_range ... ok
[INFO] [stdout] test dispersal::tests::gravity_dispersal_increases_with_height ... ok
[INFO] [stdout] test dispersal::tests::negative_distance_returns_zero ... ok
[INFO] [stdout] test dispersal::tests::preset_masses_positive ... ok
[INFO] [stdout] test dispersal::tests::probability_at_zero_is_one ... ok
[INFO] [stdout] test dispersal::tests::probability_decreases_with_distance ... ok
[INFO] [stdout] test dispersal::tests::probability_exponential_not_linear ... ok
[INFO] [stdout] test dispersal::tests::water_dispersal_long_range ... ok
[INFO] [stdout] test dispersal::tests::wind_dispersal_increases_with_wind_speed ... ok
[INFO] [stdout] test dispersal::tests::zero_height_wind_returns_zero ... ok
[INFO] [stdout] test dispersal::tests::zero_mass_returns_zero ... ok
[INFO] [stdout] test dispersal::tests::zero_wind_returns_zero ... ok
[INFO] [stdout] test ecosystem::tests::competition_at_carrying_capacity ... ok
[INFO] [stdout] test ecosystem::tests::competition_reduces_growth ... ok
[INFO] [stdout] test ecosystem::tests::competition_zero_carrying_capacity ... ok
[INFO] [stdout] test ecosystem::tests::npp_equal_respiration ... ok
[INFO] [stdout] test ecosystem::tests::npp_positive ... ok
[INFO] [stdout] test ecosystem::tests::npp_zero_when_respiration_exceeds ... ok
[INFO] [stdout] test ecosystem::tests::shannon_diversity_increases_with_species ... ok
[INFO] [stdout] test ecosystem::tests::shannon_empty_slice ... ok
[INFO] [stdout] test ecosystem::tests::shannon_equal_mix_higher ... ok
[INFO] [stdout] test ecosystem::tests::shannon_single_species_zero ... ok
[INFO] [stdout] test error::tests::error_display ... ok
[INFO] [stdout] test evapotranspiration::tests::pm_higher_resistance_less_et ... ok
[INFO] [stdout] test evapotranspiration::tests::pm_higher_vpd_more_et ... ok
[INFO] [stdout] test evapotranspiration::tests::pm_more_radiation_more_et ... ok
[INFO] [stdout] test evapotranspiration::tests::pm_typical_summer_day ... ok
[INFO] [stdout] test evapotranspiration::tests::pm_zero_vpd_zero_et ... ok
[INFO] [stdout] test evapotranspiration::tests::psychrometric_at_sea_level ... ok
[INFO] [stdout] test evapotranspiration::tests::reference_et_summer ... ok
[INFO] [stdout] test evapotranspiration::tests::reference_et_winter_low ... ok
[INFO] [stdout] test evapotranspiration::tests::surface_resistance_basic ... ok
[INFO] [stdout] test evapotranspiration::tests::surface_resistance_decreases_with_lai ... ok
[INFO] [stdout] test evapotranspiration::tests::surface_resistance_zero_conductance ... ok
[INFO] [stdout] test evapotranspiration::tests::surface_resistance_zero_lai ... ok
[INFO] [stdout] test evapotranspiration::tests::svp_slope_at_20c ... ok
[INFO] [stdout] test evapotranspiration::tests::svp_slope_increases_with_temp ... ok
[INFO] [stdout] test fire::tests::all_establishments_positive ... ok
[INFO] [stdout] test fire::tests::establishment_increases_with_intensity ... ok
[INFO] [stdout] test fire::tests::fire_prone_shorter_interval ... ok
[INFO] [stdout] test fire::tests::hotter_fire_more_seeds ... ok
[INFO] [stdout] test fire::tests::intense_fire_reduces_vigor ... ok
[INFO] [stdout] test fire::tests::intervals_positive ... ok
[INFO] [stdout] test fire::tests::only_serotinous_releases ... ok
[INFO] [stdout] test fire::tests::protection_in_range ... ok
[INFO] [stdout] test fire::tests::resprouter_high_vigor ... ok
[INFO] [stdout] test fire::tests::sensitive_cannot_resprout ... ok
[INFO] [stdout] test fire::tests::serotinous_best_post_fire ... ok
[INFO] [stdout] test fire::tests::serotinous_releases_seeds ... ok
[INFO] [stdout] test fire::tests::serotinous_zero_bank ... ok
[INFO] [stdout] test fire::tests::thick_bark_most_protected ... ok
[INFO] [stdout] test fire::tests::vigor_never_negative ... ok
[INFO] [stdout] test growth::tests::bamboo_grows_faster_than_oak ... ok
[INFO] [stdout] test growth::tests::daily_growth_positive_mid ... ok
[INFO] [stdout] test growth::tests::daily_growth_zero_at_max ... ok
[INFO] [stdout] test growth::tests::grass_reaches_max_fast ... ok
[INFO] [stdout] test growth::tests::growth_monotonically_increases ... ok
[INFO] [stdout] test growth::tests::growth_more_sensitive_than_photosynthesis ... ok
[INFO] [stdout] test growth::tests::growth_water_stress_above_threshold ... ok
[INFO] [stdout] test growth::tests::growth_water_stress_at_threshold ... ok
[INFO] [stdout] test growth::tests::growth_water_stress_full ... ok
[INFO] [stdout] test growth::tests::growth_water_stress_half_threshold ... ok
[INFO] [stdout] test growth::tests::growth_water_stress_negative ... ok
[INFO] [stdout] test growth::tests::growth_water_stress_wilted ... ok
[INFO] [stdout] test growth::tests::logistic_approaches_max ... ok
[INFO] [stdout] test growth::tests::logistic_starts_at_initial ... ok
[INFO] [stdout] test growth::tests::stage_clamped_above_max ... ok
[INFO] [stdout] test growth::tests::stage_integrates_with_growth_model ... ok
[INFO] [stdout] test growth::tests::stage_progression ... ok
[INFO] [stdout] test growth::tests::stage_seed_at_zero ... ok
[INFO] [stdout] test growth::tests::stage_seed_negative_height ... ok
[INFO] [stdout] test growth::tests::stage_seed_zero_max ... ok
[INFO] [stdout] test growth::tests::zero_initial_height_returns_zero ... ok
[INFO] [stdout] test growth::tests::zero_max_height_no_daily_growth ... ok
[INFO] [stdout] test herbivory::tests::browsing_targets_leaves_and_stems ... ok
[INFO] [stdout] test herbivory::tests::compensatory_half_defoliation ... ok
[INFO] [stdout] test herbivory::tests::compensatory_heavy_defoliation ... ok
[INFO] [stdout] test herbivory::tests::compensatory_light_grazing ... ok
[INFO] [stdout] test herbivory::tests::compensatory_no_defoliation ... ok
[INFO] [stdout] test herbivory::tests::compensatory_zero_capacity ... ok
[INFO] [stdout] test herbivory::tests::frugivory_targets_reproductive ... ok
[INFO] [stdout] test herbivory::tests::grass_compensates_better_than_tree ... ok
[INFO] [stdout] test herbivory::tests::grazing_targets_leaves ... ok
[INFO] [stdout] test herbivory::tests::mortality_at_threshold ... ok
[INFO] [stdout] test herbivory::tests::mortality_light_defoliation_zero ... ok
[INFO] [stdout] test herbivory::tests::mortality_low_vulnerability ... ok
[INFO] [stdout] test herbivory::tests::mortality_severe_defoliation ... ok
[INFO] [stdout] test herbivory::tests::mortality_total_defoliation ... ok
[INFO] [stdout] test herbivory::tests::mortality_zero_vulnerability ... ok
[INFO] [stdout] test herbivory::tests::removal_clamped_above_one ... ok
[INFO] [stdout] test herbivory::tests::removal_full_intensity ... ok
[INFO] [stdout] test herbivory::tests::removal_grazing_mostly_leaves ... ok
[INFO] [stdout] test herbivory::tests::root_feeding_targets_roots ... ok
[INFO] [stdout] test herbivory::tests::removal_zero_intensity ... ok
[INFO] [stdout] test herbivory::tests::total_removal_sums_organs ... ok
[INFO] [stdout] test herbivory::tests::vulnerability_fractions_sum_to_one ... ok
[INFO] [stdout] test lai::tests::conifer_highest_max_lai ... ok
[INFO] [stdout] test lai::tests::deciduous_peak_in_summer ... ok
[INFO] [stdout] test lai::tests::deciduous_zero_in_winter ... ok
[INFO] [stdout] test lai::tests::drought_deciduous_always_one ... ok
[INFO] [stdout] test lai::tests::drought_deciduous_sheds_fastest ... ok
[INFO] [stdout] test lai::tests::drought_retention_zero_water ... ok
[INFO] [stdout] test lai::tests::drought_retention_full_water ... ok
[INFO] [stdout] test lai::tests::effective_lai_drought_reduces ... ok
[INFO] [stdout] test lai::tests::effective_lai_capped_at_max ... ok
[INFO] [stdout] test lai::tests::effective_lai_frost_reduces ... ok
[INFO] [stdout] test lai::tests::effective_lai_full_conditions ... ok
[INFO] [stdout] test lai::tests::frost_severe_high_loss ... ok
[INFO] [stdout] test lai::tests::lai_from_biomass_basic ... ok
[INFO] [stdout] test lai::tests::effective_lai_winter_deciduous ... ok
[INFO] [stdout] test lai::tests::lai_from_biomass_zero_area ... ok
[INFO] [stdout] test lai::tests::frost_damage_below_threshold ... ok
[INFO] [stdout] test lai::tests::lai_from_biomass_zero_leaves ... ok
[INFO] [stdout] test lai::tests::southern_hemisphere_shifted ... ok
[INFO] [stdout] test lai::tests::frost_no_damage_above_threshold ... ok
[INFO] [stdout] test lai::tests::evergreen_always_above_threshold ... ok
[INFO] [stdout] test mortality::tests::age_mortality_high_near_max ... ok
[INFO] [stdout] test mortality::tests::age_mortality_increases_with_age ... ok
[INFO] [stdout] test mortality::tests::age_mortality_negative_age ... ok
[INFO] [stdout] test mortality::tests::age_mortality_zero_at_birth ... ok
[INFO] [stdout] test mortality::tests::age_mortality_zero_max_lifespan ... ok
[INFO] [stdout] test mortality::tests::disease_healthy_low_rate ... ok
[INFO] [stdout] test mortality::tests::disease_max_stress_rate ... ok
[INFO] [stdout] test mortality::tests::disease_stressed_higher ... ok
[INFO] [stdout] test mortality::tests::drought_negative_available ... ok
[INFO] [stdout] test mortality::tests::drought_one_when_no_water ... ok
[INFO] [stdout] test mortality::tests::drought_partial_deficit ... ok
[INFO] [stdout] test mortality::tests::drought_zero_needed ... ok
[INFO] [stdout] test mortality::tests::drought_zero_when_sufficient ... ok
[INFO] [stdout] test mortality::tests::fire_full_intensity_full_protection ... ok
[INFO] [stdout] test mortality::tests::fire_full_intensity_no_protection ... ok
[INFO] [stdout] test mortality::tests::fire_thick_bark_survives_moderate ... ok
[INFO] [stdout] test mortality::tests::fire_thin_bark_vulnerable ... ok
[INFO] [stdout] test mortality::tests::fire_no_intensity ... ok
[INFO] [stdout] test mortality::tests::frost_about_half_at_threshold ... ok
[INFO] [stdout] test mortality::tests::frost_high_below_hardiness ... ok
[INFO] [stdout] test mortality::tests::frost_low_above_hardiness ... ok
[INFO] [stdout] test mortality::tests::self_thinning_increases_with_density ... ok
[INFO] [stdout] test mortality::tests::self_thinning_zero_density ... ok
[INFO] [stdout] test mortality::tests::self_thinning_zero_mass ... ok
[INFO] [stdout] test mortality::tests::self_thinning_zero_when_sparse ... ok
[INFO] [stdout] test mortality::tests::windthrow_calm_is_zero ... ok
[INFO] [stdout] test mortality::tests::windthrow_clamped_at_one ... ok
[INFO] [stdout] test mortality::tests::windthrow_saturated_soil_worse ... ok
[INFO] [stdout] test mortality::tests::windthrow_strong_wind ... ok
[INFO] [stdout] test mortality::tests::windthrow_zero_wind ... ok
[INFO] [stdout] test mycorrhiza::tests::all_enhancements_above_one ... ok
[INFO] [stdout] test mycorrhiza::tests::all_reaches_positive ... ok
[INFO] [stdout] test mycorrhiza::tests::am_strongest_phosphorus ... ok
[INFO] [stdout] test mycorrhiza::tests::colonization_decreases_with_p ... ok
[INFO] [stdout] test mycorrhiza::tests::colonization_high_when_p_low ... ok
[INFO] [stdout] test mycorrhiza::tests::colonization_zero_when_p_saturated ... ok
[INFO] [stdout] test mycorrhiza::tests::costs_in_valid_range ... ok
[INFO] [stdout] test mycorrhiza::tests::ecm_longest_reach ... ok
[INFO] [stdout] test mycorrhiza::tests::ecm_most_expensive ... ok
[INFO] [stdout] test mycorrhiza::tests::enhanced_always_gte_base ... ok
[INFO] [stdout] test mycorrhiza::tests::enhanced_uptake_at_full_colonization ... ok
[INFO] [stdout] test mycorrhiza::tests::enhanced_uptake_at_zero_colonization ... ok
[INFO] [stdout] test mycorrhiza::tests::enhanced_uptake_zero_base ... ok
[INFO] [stdout] test mycorrhiza::tests::ericoid_strongest_nitrogen ... ok
[INFO] [stdout] test mycorrhiza::tests::net_benefit_high_when_nutrient_limited ... ok
[INFO] [stdout] test mycorrhiza::tests::net_benefit_low_when_nutrients_abundant ... ok
[INFO] [stdout] test mycorrhiza::tests::net_benefit_zero_colonization ... ok
[INFO] [stdout] test nitrogen::tests::add_available_increases ... ok
[INFO] [stdout] test nitrogen::tests::add_available_negative_noop ... ok
[INFO] [stdout] test nitrogen::tests::add_organic_increases ... ok
[INFO] [stdout] test nitrogen::tests::balance_conservation ... ok
[INFO] [stdout] test nitrogen::tests::balance_frozen_no_mineralization ... ok
[INFO] [stdout] test nitrogen::tests::balance_leaching_with_drainage ... ok
[INFO] [stdout] test nitrogen::tests::balance_mineralization_transfers ... ok
[INFO] [stdout] test nitrogen::tests::balance_multi_day_depletion ... ok
[INFO] [stdout] test nitrogen::tests::balance_uptake_removes ... ok
[INFO] [stdout] test nitrogen::tests::balance_no_inputs_no_outputs ... ok
[INFO] [stdout] test nitrogen::tests::conifer_lower_critical_n ... ok
[INFO] [stdout] test nitrogen::tests::critical_n_positive ... ok
[INFO] [stdout] test nitrogen::tests::demand_proportional_to_growth ... ok
[INFO] [stdout] test nitrogen::tests::demand_zero_growth ... ok
[INFO] [stdout] test nitrogen::tests::demand_zero_target ... ok
[INFO] [stdout] test nitrogen::tests::fertile_has_more_available_than_poor ... ok
[INFO] [stdout] test nitrogen::tests::fluxes_net_change ... ok
[INFO] [stdout] test nitrogen::tests::forest_has_large_organic_pool ... ok
[INFO] [stdout] test nitrogen::tests::leaching_more_drainage_more_loss ... ok
[INFO] [stdout] test nitrogen::tests::leaching_no_drainage ... ok
[INFO] [stdout] test nitrogen::tests::leaching_no_nitrogen ... ok
[INFO] [stdout] test nitrogen::tests::leaching_proportional_to_available ... ok
[INFO] [stdout] test nitrogen::tests::leaching_with_drainage ... ok
[INFO] [stdout] test nitrogen::tests::mineralization_at_reference_conditions ... ok
[INFO] [stdout] test nitrogen::tests::mineralization_dry_is_slower ... ok
[INFO] [stdout] test nitrogen::tests::mineralization_frozen_is_zero ... ok
[INFO] [stdout] test nitrogen::tests::mineralization_no_organic_is_zero ... ok
[INFO] [stdout] test nitrogen::tests::mineralization_proportional_to_organic_n ... ok
[INFO] [stdout] test nitrogen::tests::mineralization_warmer_is_faster ... ok
[INFO] [stdout] test nitrogen::tests::new_clamps_negative ... ok
[INFO] [stdout] test nitrogen::tests::remove_available_basic ... ok
[INFO] [stdout] test nitrogen::tests::remove_available_cant_go_negative ... ok
[INFO] [stdout] test nitrogen::tests::remove_available_negative_noop ... ok
[INFO] [stdout] test nitrogen::tests::stress_factor_at_critical ... ok
[INFO] [stdout] test nitrogen::tests::stress_factor_clamped_at_one ... ok
[INFO] [stdout] test nitrogen::tests::stress_factor_half_critical ... ok
[INFO] [stdout] test nitrogen::tests::stress_factor_negative ... ok
[INFO] [stdout] test nitrogen::tests::stress_factor_sufficient_n ... ok
[INFO] [stdout] test nitrogen::tests::stress_factor_zero_critical ... ok
[INFO] [stdout] test nitrogen::tests::stress_factor_zero_n ... ok
[INFO] [stdout] test nitrogen::tests::total_n_sums_pools ... ok
[INFO] [stdout] test nitrogen::tests::uptake_dry_soil_reduces ... ok
[INFO] [stdout] test nitrogen::tests::uptake_limited_by_available ... ok
[INFO] [stdout] test nitrogen::tests::uptake_limited_by_demand ... ok
[INFO] [stdout] test nitrogen::tests::uptake_limited_by_root_capacity ... ok
[INFO] [stdout] test nitrogen::tests::uptake_more_roots_more_uptake ... ok
[INFO] [stdout] test nitrogen::tests::uptake_zero_demand ... ok
[INFO] [stdout] test nitrogen::tests::uptake_zero_moisture ... ok
[INFO] [stdout] test nitrogen::tests::uptake_zero_roots ... ok
[INFO] [stdout] test pft::tests::all_pfts_construct ... ok
[INFO] [stdout] test pft::tests::alloc_reproductive_positive ... ok
[INFO] [stdout] test pft::tests::allocation_sums_to_one ... ok
[INFO] [stdout] test pft::tests::boreal_most_cold_hardy ... ok
[INFO] [stdout] test pft::tests::c4_grass_has_c4_pathway ... ok
[INFO] [stdout] test pft::tests::c4_higher_pmax_than_c3 ... ok
[INFO] [stdout] test pft::tests::conifer_low_leaf_turnover ... ok
[INFO] [stdout] test pft::tests::conifer_lower_sla ... ok
[INFO] [stdout] test pft::tests::deciduous_full_leaf_turnover ... ok
[INFO] [stdout] test pft::tests::grass_more_root_allocation ... ok
[INFO] [stdout] test pft::tests::grass_short_lived ... ok
[INFO] [stdout] test pft::tests::is_conifer_correct ... ok
[INFO] [stdout] test pft::tests::is_woody_correct ... ok
[INFO] [stdout] test pft::tests::tropical_tallest ... ok
[INFO] [stdout] test phenology::tests::accumulated_chill_basic ... ok
[INFO] [stdout] test phenology::tests::accumulated_chill_empty ... ok
[INFO] [stdout] test phenology::tests::accumulated_gdd_all_cold ... ok
[INFO] [stdout] test phenology::tests::accumulated_gdd_basic ... ok
[INFO] [stdout] test phenology::tests::accumulated_gdd_empty ... ok
[INFO] [stdout] test phenology::tests::chilling_in_range ... ok
[INFO] [stdout] test phenology::tests::chilling_out_of_range ... ok
[INFO] [stdout] test phenology::tests::dormancy_broken_at_exact_threshold ... ok
[INFO] [stdout] test phenology::tests::dormancy_broken_sufficient_chill ... ok
[INFO] [stdout] test phenology::tests::dormancy_broken_zero_requirement ... ok
[INFO] [stdout] test phenology::tests::dormancy_events_not_gdd_driven ... ok
[INFO] [stdout] test phenology::tests::dormancy_not_broken_insufficient ... ok
[INFO] [stdout] test phenology::tests::dormancy_onset_frost ... ok
[INFO] [stdout] test phenology::tests::dormancy_onset_not_triggered ... ok
[INFO] [stdout] test phenology::tests::dormancy_onset_short_days ... ok
[INFO] [stdout] test phenology::tests::event_maps_to_stage ... ok
[INFO] [stdout] test phenology::tests::event_reached_bud_break ... ok
[INFO] [stdout] test phenology::tests::event_reached_dormancy_always_false ... ok
[INFO] [stdout] test phenology::tests::full_season_cycle ... ok
[INFO] [stdout] test phenology::tests::gdd_at_base_temp ... ok
[INFO] [stdout] test phenology::tests::gdd_cold_day ... ok
[INFO] [stdout] test phenology::tests::gdd_warm_day ... ok
[INFO] [stdout] test phenology::tests::progress_capped_at_one ... ok
[INFO] [stdout] test phenology::tests::progress_dormancy_returns_zero ... ok
[INFO] [stdout] test phenology::tests::progress_half ... ok
[INFO] [stdout] test phenology::tests::progress_zero_at_start ... ok
[INFO] [stdout] test phenology::tests::senescence_not_triggered_long_days ... ok
[INFO] [stdout] test phenology::tests::senescence_not_triggered_warm ... ok
[INFO] [stdout] test phenology::tests::senescence_short_days_and_cold ... ok
[INFO] [stdout] test phenology::tests::thresholds_increase_through_season ... ok
[INFO] [stdout] test photosynthesis::tests::c4_extreme_cold_near_zero ... ok
[INFO] [stdout] test photosynthesis::tests::c4_higher_max_rate ... ok
[INFO] [stdout] test photosynthesis::tests::c4_narrower_than_c3 ... ok
[INFO] [stdout] test photosynthesis::tests::c4_optimum_at_32 ... ok
[INFO] [stdout] test photosynthesis::tests::cam_broader_than_c3 ... ok
[INFO] [stdout] test photosynthesis::tests::cam_lower_quantum_yield ... ok
[INFO] [stdout] test photosynthesis::tests::cam_optimum_at_28 ... ok
[INFO] [stdout] test photosynthesis::tests::canopy_light_decreases_with_lai ... ok
[INFO] [stdout] test photosynthesis::tests::canopy_light_known_value ... ok
[INFO] [stdout] test photosynthesis::tests::canopy_light_negative_par ... ok
[INFO] [stdout] test photosynthesis::tests::canopy_light_no_lai ... ok
[INFO] [stdout] test photosynthesis::tests::canopy_light_zero_par ... ok
[INFO] [stdout] test photosynthesis::tests::co2_factor_at_reference ... ok
[INFO] [stdout] test photosynthesis::tests::co2_factor_c4_less_responsive ... ok
[INFO] [stdout] test photosynthesis::tests::co2_factor_elevated_c3 ... ok
[INFO] [stdout] test photosynthesis::tests::co2_factor_preindustrial ... ok
[INFO] [stdout] test photosynthesis::tests::co2_factor_zero_ppm ... ok
[INFO] [stdout] test photosynthesis::tests::co2_photosynthesis_elevated ... ok
[INFO] [stdout] test photosynthesis::tests::co2_photosynthesis_rate_at_reference ... ok
[INFO] [stdout] test photosynthesis::tests::light_compensation_point_basic ... ok
[INFO] [stdout] test photosynthesis::tests::light_compensation_zero_yield ... ok
[INFO] [stdout] test photosynthesis::tests::light_interception_increases_with_lai ... ok
[INFO] [stdout] test photosynthesis::tests::light_interception_zero_lai ... ok
[INFO] [stdout] test photosynthesis::tests::negative_extinction_k_canopy_returns_zero ... ok
[INFO] [stdout] test photosynthesis::tests::negative_extinction_k_interception_returns_zero ... ok
[INFO] [stdout] test photosynthesis::tests::negative_extinction_k_understory_returns_one ... ok
[INFO] [stdout] test photosynthesis::tests::negative_light_returns_zero ... ok
[INFO] [stdout] test photosynthesis::tests::negative_max_rate_returns_zero ... ok
[INFO] [stdout] test photosynthesis::tests::negative_quantum_yield_returns_zero ... ok
[INFO] [stdout] test photosynthesis::tests::pathway_params_c3 ... ok
[INFO] [stdout] test photosynthesis::tests::pathway_params_c4 ... ok
[INFO] [stdout] test photosynthesis::tests::pathway_params_cam ... ok
[INFO] [stdout] test photosynthesis::tests::rate_increases_with_light ... ok
[INFO] [stdout] test photosynthesis::tests::rate_saturates ... ok
[INFO] [stdout] test photosynthesis::tests::shaded_photosynthesis_less_than_open ... ok
[INFO] [stdout] test photosynthesis::tests::shaded_photosynthesis_no_canopy_equals_open ... ok
[INFO] [stdout] test photosynthesis::tests::shaded_photosynthesis_very_dense_near_zero ... ok
[INFO] [stdout] test photosynthesis::tests::temp_factor_decreases_away_from_optimum ... ok
[INFO] [stdout] test photosynthesis::tests::temp_factor_extreme_cold ... ok
[INFO] [stdout] test photosynthesis::tests::temp_factor_optimum ... ok
[INFO] [stdout] test photosynthesis::tests::temp_factor_symmetric ... ok
[INFO] [stdout] test photosynthesis::tests::understory_dense_canopy ... ok
[INFO] [stdout] test photosynthesis::tests::understory_no_canopy ... ok
[INFO] [stdout] test photosynthesis::tests::understory_plus_interception_equals_one ... ok
[INFO] [stdout] test photosynthesis::tests::water_stress_above_threshold ... ok
[INFO] [stdout] test photosynthesis::tests::water_stress_at_threshold ... ok
[INFO] [stdout] test photosynthesis::tests::water_stress_full_water ... ok
[INFO] [stdout] test photosynthesis::tests::water_stress_half_threshold ... ok
[INFO] [stdout] test photosynthesis::tests::water_stress_monotonic ... ok
[INFO] [stdout] test photosynthesis::tests::water_stress_negative ... ok
[INFO] [stdout] test photosynthesis::tests::water_stress_wilted ... ok
[INFO] [stdout] test photosynthesis::tests::water_use_efficiency_basic ... ok
[INFO] [stdout] test photosynthesis::tests::water_use_efficiency_zero_water ... ok
[INFO] [stdout] test photosynthesis::tests::zero_light_zero_rate ... ok
[INFO] [stdout] test photosynthesis::tests::zero_quantum_yield_returns_zero ... ok
[INFO] [stdout] test pollination::tests::at_exact_max_range_returns_zero ... ok
[INFO] [stdout] test pollination::tests::at_zero_distance_full_probability ... ok
[INFO] [stdout] test pollination::tests::beyond_range_zero ... ok
[INFO] [stdout] test pollination::tests::bird_has_longest_range ... ok
[INFO] [stdout] test pollination::tests::negative_distance_returns_zero ... ok
[INFO] [stdout] test pollination::tests::probability_decreases_with_distance ... ok
[INFO] [stdout] test pollination::tests::self_pollinating_always_succeeds ... ok
[INFO] [stdout] test pollination::tests::self_pollinating_ignores_distance ... ok
[INFO] [stdout] test reproduction::tests::all_distances_positive ... ok
[INFO] [stdout] test reproduction::tests::clonal_area_grows_quadratically ... ok
[INFO] [stdout] test reproduction::tests::clonal_area_one_year ... ok
[INFO] [stdout] test reproduction::tests::clonal_area_zero_years ... ok
[INFO] [stdout] test reproduction::tests::costs_in_valid_range ... ok
[INFO] [stdout] test reproduction::tests::layering_produces_least ... ok
[INFO] [stdout] test reproduction::tests::parent_cost_basic ... ok
[INFO] [stdout] test reproduction::tests::parent_cost_capped_at_parent_mass ... ok
[INFO] [stdout] test reproduction::tests::parent_cost_zero_biomass ... ok
[INFO] [stdout] test reproduction::tests::parent_cost_zero_ramets ... ok
[INFO] [stdout] test reproduction::tests::resource_limited_full_resources ... ok
[INFO] [stdout] test reproduction::tests::resource_limited_half_resources ... ok
[INFO] [stdout] test reproduction::tests::resource_limited_no_nitrogen ... ok
[INFO] [stdout] test reproduction::tests::resource_limited_no_water ... ok
[INFO] [stdout] test reproduction::tests::rhizome_produces_most ... ok
[INFO] [stdout] test reproduction::tests::root_sprout_costs_more_per_ramet ... ok
[INFO] [stdout] test reproduction::tests::root_sprout_largest_area ... ok
[INFO] [stdout] test reproduction::tests::root_sprout_most_expensive ... ok
[INFO] [stdout] test reproduction::tests::root_sprout_spreads_farthest ... ok
[INFO] [stdout] test reproduction::tests::stress_takes_minimum ... ok
[INFO] [stdout] test respiration::tests::growth_fraction_reproductive_higher ... ok
[INFO] [stdout] test respiration::tests::growth_respiration_basic ... ok
[INFO] [stdout] test respiration::tests::growth_respiration_negative ... ok
[INFO] [stdout] test respiration::tests::growth_respiration_zero ... ok
[INFO] [stdout] test respiration::tests::maintenance_at_reference_temp ... ok
[INFO] [stdout] test respiration::tests::maintenance_doubles_at_30c ... ok
[INFO] [stdout] test respiration::tests::maintenance_frozen_reduced ... ok
[INFO] [stdout] test respiration::tests::maintenance_proportional_to_biomass ... ok
[INFO] [stdout] test respiration::tests::maintenance_proportional_to_nitrogen ... ok
[INFO] [stdout] test respiration::tests::maintenance_zero_biomass ... ok
[INFO] [stdout] test respiration::tests::npp_negative_carbon_starvation ... ok
[INFO] [stdout] test respiration::tests::maintenance_zero_nitrogen ... ok
[INFO] [stdout] test respiration::tests::npp_positive_when_gpp_exceeds_ra ... ok
[INFO] [stdout] test respiration::tests::npp_zero_when_balanced ... ok
[INFO] [stdout] test respiration::tests::partitioned_leaf_dominant ... ok
[INFO] [stdout] test respiration::tests::partitioned_temperature_response ... ok
[INFO] [stdout] test respiration::tests::partitioned_zero_biomass ... ok
[INFO] [stdout] test respiration::tests::total_respiration_sums ... ok
[INFO] [stdout] test respiration::tests::wood_cheaper_than_leaves ... ok
[INFO] [stdout] test root::tests::fibrous_better_stabilization ... ok
[INFO] [stdout] test root::tests::oak_deeper_than_grass ... ok
[INFO] [stdout] test root::tests::oak_higher_water_uptake ... ok
[INFO] [stdout] test root::tests::oak_wider_spread ... ok
[INFO] [stdout] test root::tests::root_zone_fraction_deep_roots_shallow_soil ... ok
[INFO] [stdout] test root::tests::root_zone_fraction_shallow_roots_deep_soil ... ok
[INFO] [stdout] test root::tests::root_zone_fraction_zero_depth ... ok
[INFO] [stdout] test root::tests::shallow_roots_less_uptake_in_deep_soil ... ok
[INFO] [stdout] test root::tests::stabilization_in_valid_range ... ok
[INFO] [stdout] test root::tests::uptake_at_wilting_point ... ok
[INFO] [stdout] test root::tests::uptake_limited_by_available_water ... ok
[INFO] [stdout] test root::tests::uptake_limited_by_capacity ... ok
[INFO] [stdout] test root::tests::uptake_limited_by_demand ... ok
[INFO] [stdout] test root::tests::uptake_zero_demand ... ok
[INFO] [stdout] test season::tests::day_above_365_clamped ... ok
[INFO] [stdout] test season::tests::day_zero_clamped_to_winter ... ok
[INFO] [stdout] test season::tests::daylight_day_zero_clamped ... ok
[INFO] [stdout] test season::tests::daylight_equator_always_near_12 ... ok
[INFO] [stdout] test season::tests::daylight_equinox_near_12 ... ok
[INFO] [stdout] test season::tests::daylight_north_pole_summer ... ok
[INFO] [stdout] test season::tests::daylight_north_pole_winter ... ok
[INFO] [stdout] test season::tests::daylight_polar_midnight_sun ... ok
[INFO] [stdout] test season::tests::daylight_polar_night ... ok
[INFO] [stdout] test season::tests::daylight_south_pole_summer ... ok
[INFO] [stdout] test season::tests::daylight_summer_solstice_45n ... ok
[INFO] [stdout] test season::tests::daylight_winter_solstice_45n ... ok
[INFO] [stdout] test season::tests::from_day_latitude_north_matches_from_day ... ok
[INFO] [stdout] test season::tests::growth_modifier_at_equator_stable ... ok
[INFO] [stdout] test season::tests::growth_modifier_at_summer_high ... ok
[INFO] [stdout] test season::tests::growth_modifier_at_winter_low ... ok
[INFO] [stdout] test season::tests::jan_1_is_winter ... ok
[INFO] [stdout] test season::tests::season_boundaries ... ok
[INFO] [stdout] test season::tests::growth_modifier_clamps_zero_one ... ok
[INFO] [stdout] test season::tests::southern_hemisphere_inverted ... ok
[INFO] [stdout] test season::tests::summer_max_growth ... ok
[INFO] [stdout] test season::tests::summer_most_daylight ... ok
[INFO] [stdout] test season::tests::summer_solstice_is_summer ... ok
[INFO] [stdout] test season::tests::winter_no_growth ... ok
[INFO] [stdout] test season::tests::winter_solstice_is_winter ... ok
[INFO] [stdout] test stomata::tests::ball_berry_basic ... ok
[INFO] [stdout] test stomata::tests::ball_berry_dry_air_reduces_conductance ... ok
[INFO] [stdout] test stomata::tests::ball_berry_high_co2_reduces_conductance ... ok
[INFO] [stdout] test stomata::tests::ball_berry_no_photosynthesis ... ok
[INFO] [stdout] test stomata::tests::ball_berry_zero_co2 ... ok
[INFO] [stdout] test stomata::tests::boundary_layer_basic ... ok
[INFO] [stdout] test stomata::tests::boundary_layer_increases_with_wind ... ok
[INFO] [stdout] test stomata::tests::boundary_layer_zero_wind ... ok
[INFO] [stdout] test stomata::tests::drought_factor_mid ... ok
[INFO] [stdout] test stomata::tests::drought_factor_wet ... ok
[INFO] [stdout] test stomata::tests::drought_factor_wilted ... ok
[INFO] [stdout] test stomata::tests::isohydric_closes_earlier ... ok
[INFO] [stdout] test stomata::tests::small_leaves_higher_boundary_conductance ... ok
[INFO] [stdout] test stomata::tests::svp_at_20c ... ok
[INFO] [stdout] test stomata::tests::svp_increases_with_temp ... ok
[INFO] [stdout] test stomata::tests::total_conductance_limited_by_smaller ... ok
[INFO] [stdout] test stomata::tests::total_conductance_series ... ok
[INFO] [stdout] test stomata::tests::total_conductance_zero_boundary ... ok
[INFO] [stdout] test stomata::tests::total_conductance_zero_stomatal ... ok
[INFO] [stdout] test stomata::tests::transpiration_basic ... ok
[INFO] [stdout] test stomata::tests::transpiration_increases_with_vpd ... ok
[INFO] [stdout] test stomata::tests::transpiration_zero_conductance ... ok
[INFO] [stdout] test stomata::tests::transpiration_zero_vpd ... ok
[INFO] [stdout] test stomata::tests::vpd_basic ... ok
[INFO] [stdout] test stomata::tests::vpd_factor_at_d0 ... ok
[INFO] [stdout] test stomata::tests::vpd_factor_high_deficit ... ok
[INFO] [stdout] test stomata::tests::vpd_factor_no_deficit ... ok
[INFO] [stdout] test stomata::tests::vpd_saturated_is_zero ... ok
[INFO] [stdout] test stomata::tests::vpd_supersaturated_clamped ... ok
[INFO] [stdout] test stomata::tests::wue_zero_transpiration ... ok
[INFO] [stdout] test succession::tests::climax_better_in_shade ... ok
[INFO] [stdout] test succession::tests::climax_displaces_better_than_pioneer ... ok
[INFO] [stdout] test succession::tests::climax_lives_longest ... ok
[INFO] [stdout] test succession::tests::climax_more_shade_tolerant ... ok
[INFO] [stdout] test succession::tests::crossover_point_exists ... ok
[INFO] [stdout] test succession::tests::displacement_dark_understory ... ok
[INFO] [stdout] test succession::tests::displacement_full_light_is_zero ... ok
[INFO] [stdout] test stomata::tests::wue_basic ... ok
[INFO] [stdout] test succession::tests::effective_growth_zero_light ... ok
[INFO] [stdout] test succession::tests::establishment_below_minimum_is_zero ... ok
[INFO] [stdout] test succession::tests::establishment_full_light_all_establish ... ok
[INFO] [stdout] test succession::tests::establishment_no_light ... ok
[INFO] [stdout] test succession::tests::lifespan_ordering ... ok
[INFO] [stdout] test succession::tests::mid_successional_baseline ... ok
[INFO] [stdout] test succession::tests::pioneer_fastest_in_full_sun ... ok
[INFO] [stdout] test succession::tests::pioneer_grows_fastest ... ok
[INFO] [stdout] test succession::tests::pioneer_needs_more_light_to_establish ... ok
[INFO] [stdout] test succession::tests::shade_tolerance_in_range ... ok
[INFO] [stdout] test water::tests::add_water_negative ... ok
[INFO] [stdout] test water::tests::add_water_no_overflow ... ok
[INFO] [stdout] test water::tests::add_water_overflow ... ok
[INFO] [stdout] test water::tests::all_conductivities_positive ... ok
[INFO] [stdout] test water::tests::available_water_at_field_capacity ... ok
[INFO] [stdout] test water::tests::available_water_at_wilting ... ok
[INFO] [stdout] test water::tests::available_water_below_wilting ... ok
[INFO] [stdout] test water::tests::balance_conservation ... ok
[INFO] [stdout] test water::tests::balance_drainage_from_saturation ... ok
[INFO] [stdout] test water::tests::balance_evaporation_removes_water ... ok
[INFO] [stdout] test water::tests::balance_heavy_rain_runoff ... ok
[INFO] [stdout] test water::tests::balance_multi_day_dry_down ... ok
[INFO] [stdout] test water::tests::balance_negative_rain_ignored ... ok
[INFO] [stdout] test water::tests::balance_net_change_sign ... ok
[INFO] [stdout] test water::tests::balance_no_drainage_at_fc ... ok
[INFO] [stdout] test water::tests::balance_rain_only ... ok
[INFO] [stdout] test water::tests::balance_saturated_drain_and_transpire ... ok
[INFO] [stdout] test water::tests::balance_transpiration_limited_by_available ... ok
[INFO] [stdout] test water::tests::balance_transpiration_removes_water ... ok
[INFO] [stdout] test water::tests::clay_holds_more_than_sand ... ok
[INFO] [stdout] test water::tests::custom_depth ... ok
[INFO] [stdout] test water::tests::deficit_at_fc_is_zero ... ok
[INFO] [stdout] test water::tests::deficit_when_dry ... ok
[INFO] [stdout] test water::tests::drain_above_fc ... ok
[INFO] [stdout] test water::tests::drain_at_fc_nothing ... ok
[INFO] [stdout] test water::tests::evaporation_at_field_capacity ... ok
[INFO] [stdout] test water::tests::evaporation_dry_soil_less ... ok
[INFO] [stdout] test water::tests::evaporation_zero_potential ... ok
[INFO] [stdout] test water::tests::evaporation_zero_water ... ok
[INFO] [stdout] test water::tests::infiltration_capped_by_rainfall ... ok
[INFO] [stdout] test water::tests::infiltration_dry_soil_faster ... ok
[INFO] [stdout] test water::tests::infiltration_zero_rain ... ok
[INFO] [stdout] test water::tests::loam_default_at_field_capacity ... ok
[INFO] [stdout] test water::tests::not_saturated_at_fc ... ok
[INFO] [stdout] test water::tests::remove_water_cant_go_negative ... ok
[INFO] [stdout] test water::tests::remove_water_basic ... ok
[INFO] [stdout] test water::tests::not_wilted_at_fc ... ok
[INFO] [stdout] test water::tests::sand_drains_faster_than_clay ... ok
[INFO] [stdout] test water::tests::rwc_at_field_capacity ... ok
[INFO] [stdout] test water::tests::sand_most_conductive ... ok
[INFO] [stdout] test water::tests::sand_properties ... ok
[INFO] [stdout] test water::tests::saturated_when_full ... ok
[INFO] [stdout] test water::tests::rwc_at_wilting ... ok
[INFO] [stdout] test water::tests::volumetric_at_field_capacity_loam ... ok
[INFO] [stdout] test water::tests::rwc_midpoint ... ok
[INFO] [stdout] test water::tests::volumetric_zero_depth ... ok
[INFO] [stdout] test water::tests::wilted_at_wp ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 640 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-70a54670eba31710)
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stdout] test all_re_exports_accessible ... ok
[INFO] [stdout] test biomass_to_litter_to_nitrogen_pipeline ... ok
[INFO] [stdout] test bridge_et_cooling_improves_photosynthesis_in_heat ... ok
[INFO] [stdout] test bridge_frost_risk_pipeline ... ok
[INFO] [stdout] test allelopathy_suppresses_neighbor_growth ... ok
[INFO] [stdout] test bridge_herbivore_to_biomass_matches_direct ... ok
[INFO] [stdout] test bridge_biomass_to_food_availability ... ok
[INFO] [stdout] test bridge_humidity_to_stomatal_pipeline ... ok
[INFO] [stdout] test bridge_nitrogen_stress_matches_direct ... ok
[INFO] [stdout] test bridge_soil_temp_affects_root_uptake ... ok
[INFO] [stdout] test bridge_water_stress_matches_direct ... ok
[INFO] [stdout] test bridge_weather_to_growth_pipeline ... ok
[INFO] [stdout] test bridge_weather_to_photosynthesis_pipeline ... ok
[INFO] [stdout] test bridge_wind_to_seed_dispersal ... ok
[INFO] [stdout] test c4_vs_c3_at_warm_temp ... ok
[INFO] [stdout] test co2_enrichment_increases_growth ... ok
[INFO] [stdout] test decomposition_feeds_nitrogen_pool ... ok
[INFO] [stdout] test ecosystem_dynamics_consistent ... ok
[INFO] [stdout] test fire_survival_depends_on_strategy ... ok
[INFO] [stdout] test full_water_growth_pipeline ... ok
[INFO] [stdout] test bridge_rainfall_to_drought_pipeline ... ok
[INFO] [stdout] test growth_to_biomass_pipeline ... ok
[INFO] [stdout] test bridge_successional_advantage_crossover ... ok
[INFO] [stdout] test growth_model_oak_preset ... ok
[INFO] [stdout] test frozen_soil_stops_decomposition ... ok
[INFO] [stdout] test herbivory_mortality_pipeline ... ok
[INFO] [stdout] test bridge_canopy_from_height ... ok
[INFO] [stdout] test herbivory_reduces_biomass_pool ... ok
[INFO] [stdout] test latitude_daylight_drives_photosynthesis ... ok
[INFO] [stdout] test mortality_interacts_with_ecosystem ... ok
[INFO] [stdout] test pollination_to_dispersal_pipeline ... ok
[INFO] [stdout] test mortality_types_compound ... ok
[INFO] [stdout] test seasonal_growth_modifiers_sum_reasonable ... ok
[INFO] [stdout] test stomata_full_pipeline ... ok
[INFO] [stdout] test mycorrhiza_net_benefit_nutrient_limited ... ok
[INFO] [stdout] test nitrogen_leaching_coupled_to_water_drainage ... ok
[INFO] [stdout] test nitrogen_limits_growth_over_time ... ok
[INFO] [stdout] test pft_drives_full_simulation ... ok
[INFO] [stdout] test photosynthesis_combined_with_temperature ... ok
[INFO] [stdout] test carbon_budget_gpp_to_npp ... ok
[INFO] [stdout] test lai_drives_photosynthesis_and_et ... ok
[INFO] [stdout] test mycorrhiza_enhances_nitrogen_uptake ... ok
[INFO] [stdout] test root_uptake_limits_water_extraction ... ok
[INFO] [stdout] test serotinous_release_after_fire ... ok
[INFO] [stdout] test stomata_drought_reduces_transpiration ... ok
[INFO] [stdout] test succession_canopy_closure_shifts_advantage ... ok
[INFO] [stdout] test vegetative_spread_with_resource_limitation ... ok
[INFO] [stdout] test som_litter_decomposition_pipeline ... ok
[INFO] [stdout] test water_rainfall_refills_soil ... ok
[INFO] [stdout] test water_stomata_drought_feedback ... ok
[INFO] [stdout] test water_stress_reduces_growth_before_photosynthesis ... ok
[INFO] [stdout] test wood_persists_longer_than_leaves ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests vanaspati
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 38) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.17s; merged doctests compilation took 1.16s
[INFO] running `Command { std: "docker" "inspect" "43a158e47ef73eae0cee23a99de9f0fed18a70bc2fb40329273bde0ab5ac64a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43a158e47ef73eae0cee23a99de9f0fed18a70bc2fb40329273bde0ab5ac64a2", kill_on_drop: false }`
[INFO] [stdout] 43a158e47ef73eae0cee23a99de9f0fed18a70bc2fb40329273bde0ab5ac64a2
