in include/pyo3/pyo3-build-config/src/impl_.rs [2766:2814]
fn parse_cross_python_version() {
let env_vars = CrossCompileEnvVars {
pyo3_cross: None,
pyo3_cross_lib_dir: None,
pyo3_cross_python_version: Some("3.9".into()),
pyo3_cross_python_implementation: None,
};
assert_eq!(
env_vars.parse_version().unwrap(),
(Some(PythonVersion { major: 3, minor: 9 }), None),
);
let env_vars = CrossCompileEnvVars {
pyo3_cross: None,
pyo3_cross_lib_dir: None,
pyo3_cross_python_version: None,
pyo3_cross_python_implementation: None,
};
assert_eq!(env_vars.parse_version().unwrap(), (None, None));
let env_vars = CrossCompileEnvVars {
pyo3_cross: None,
pyo3_cross_lib_dir: None,
pyo3_cross_python_version: Some("3.13t".into()),
pyo3_cross_python_implementation: None,
};
assert_eq!(
env_vars.parse_version().unwrap(),
(
Some(PythonVersion {
major: 3,
minor: 13
}),
Some("t".into())
),
);
let env_vars = CrossCompileEnvVars {
pyo3_cross: None,
pyo3_cross_lib_dir: None,
pyo3_cross_python_version: Some("100".into()),
pyo3_cross_python_implementation: None,
};
assert!(env_vars.parse_version().is_err());
}