mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-19 01:50:38 +00:00
Remove pyvenv.cfg validation check for lines with multiple =
(#18144)
This commit is contained in:
parent
3d55a16c91
commit
c6e55f673c
1 changed files with 0 additions and 33 deletions
|
@ -132,15 +132,6 @@ impl VirtualEnvironment {
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
if value.contains('=') {
|
|
||||||
return Err(SitePackagesDiscoveryError::PyvenvCfgParseError(
|
|
||||||
pyvenv_cfg_path,
|
|
||||||
PyvenvCfgParseErrorKind::TooManyEquals {
|
|
||||||
line_number: pyvenv_cfg_line_number(index),
|
|
||||||
},
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
match key {
|
match key {
|
||||||
"include-system-site-packages" => {
|
"include-system-site-packages" => {
|
||||||
include_system_site_packages = value.eq_ignore_ascii_case("true");
|
include_system_site_packages = value.eq_ignore_ascii_case("true");
|
||||||
|
@ -305,7 +296,6 @@ pub(crate) enum SitePackagesDiscoveryError {
|
||||||
/// The various ways in which parsing a `pyvenv.cfg` file could fail
|
/// The various ways in which parsing a `pyvenv.cfg` file could fail
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub(crate) enum PyvenvCfgParseErrorKind {
|
pub(crate) enum PyvenvCfgParseErrorKind {
|
||||||
TooManyEquals { line_number: NonZeroUsize },
|
|
||||||
MalformedKeyValuePair { line_number: NonZeroUsize },
|
MalformedKeyValuePair { line_number: NonZeroUsize },
|
||||||
NoHomeKey,
|
NoHomeKey,
|
||||||
InvalidHomeValue(io::Error),
|
InvalidHomeValue(io::Error),
|
||||||
|
@ -314,9 +304,6 @@ pub(crate) enum PyvenvCfgParseErrorKind {
|
||||||
impl fmt::Display for PyvenvCfgParseErrorKind {
|
impl fmt::Display for PyvenvCfgParseErrorKind {
|
||||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
match self {
|
match self {
|
||||||
Self::TooManyEquals { line_number } => {
|
|
||||||
write!(f, "line {line_number} has too many '=' characters")
|
|
||||||
}
|
|
||||||
Self::MalformedKeyValuePair { line_number } => write!(
|
Self::MalformedKeyValuePair { line_number } => write!(
|
||||||
f,
|
f,
|
||||||
"line {line_number} has a malformed `<key> = <value>` pair"
|
"line {line_number} has a malformed `<key> = <value>` pair"
|
||||||
|
@ -1109,26 +1096,6 @@ mod tests {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
|
||||||
fn parsing_pyvenv_cfg_with_too_many_equals() {
|
|
||||||
let system = TestSystem::default();
|
|
||||||
let memory_fs = system.memory_file_system();
|
|
||||||
let pyvenv_cfg_path = SystemPathBuf::from("/.venv/pyvenv.cfg");
|
|
||||||
memory_fs
|
|
||||||
.write_file_all(&pyvenv_cfg_path, "home = bar = /.venv/bin")
|
|
||||||
.unwrap();
|
|
||||||
let venv_result =
|
|
||||||
PythonEnvironment::new("/.venv", SysPrefixPathOrigin::VirtualEnvVar, &system);
|
|
||||||
assert!(matches!(
|
|
||||||
venv_result,
|
|
||||||
Err(SitePackagesDiscoveryError::PyvenvCfgParseError(
|
|
||||||
path,
|
|
||||||
PyvenvCfgParseErrorKind::TooManyEquals { line_number }
|
|
||||||
))
|
|
||||||
if path == pyvenv_cfg_path && Some(line_number) == NonZeroUsize::new(1)
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn parsing_pyvenv_cfg_with_key_but_no_value_fails() {
|
fn parsing_pyvenv_cfg_with_key_but_no_value_fails() {
|
||||||
let system = TestSystem::default();
|
let system = TestSystem::default();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue