Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IEP-1333: ESP-IDF Manager: Cannot invoke "String.indexOf(int)" because "value" is null #1058

Merged
merged 7 commits into from
Oct 15, 2024
2 changes: 1 addition & 1 deletion .github/workflows/ci_windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
build_windows:

runs-on:
- eclipse
- eclipseUpd
- BrnoWIN0007

steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ protected void processExportCmdOutput(final String exportCmdOp)
{
idfToolSet.setIdfVersion(matcher.group(1));
}
else
{
idfToolSet.setIdfVersion(idfToolSet.getEnvVars().computeIfAbsent(IDFEnvironmentVariables.ESP_IDF_VERSION, k -> StringUtil.EMPTY));
}
Comment on lines +127 to +130

This comment was marked as off-topic.

Copy link
Collaborator

@kolipakakondal kolipakakondal Oct 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this is the right way to approach the problem, I think the issue was because regular expression is not capturing the esp-idf version when it was on master branch

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually the output from the python is like this

Users/aliazamrana/.espressif/python_env/idf5.4_py3.9_env/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
ESP-IDF v5.4-dev-3201-g46acfdce96

which makes it difficult to have a single regex to parse all the possibilities so it would be better I think to fallback to the env variable that is being exported by the export script

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

idf.py --version output on master

/Users/kondalkolipaka/.espressif/python_env/idf5.4_py3.9_env/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
ESP-IDF v5.4-dev-3201-g46acfdce96

on 5.2.2

ESP-IDF v5.2.2-dirty

idfToolSet.getEnvVars().put(IDFEnvironmentVariables.ESP_IDF_VERSION, idfToolSet.getIdfVersion());

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,34 +61,34 @@ public void givenNewProjectCreatedNotBuiltWhenOpenSbomThenSbomIsDisabled() throw
Fixture.thenRunOKbuttonDisabled(Fixture.bot);
}

@Test
public void givenNewProjectCreatedBuiltWhenRunSbomThenSbomIsGeneratedInConsole() throws Exception
{
Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
Fixture.givenProjectNameIs("NewProjectSbomSecondTest");
Fixture.whenNewProjectIsSelected();
Fixture.whenProjectIsBuiltUsingContextMenu();
Fixture.whenOpenSbomTool();
Fixture.whenRunSbomTool();
Fixture.thenCheckResultInConsole();
}

@Test
public void givenNewProjectCreatedBuiltWhenRunSBOMtoolRedirectOutputToFileThenCheckConsoleAndSbomFile()
throws Exception
{
Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
Fixture.givenProjectNameIs("NewProjectSbomThirdTest");
Fixture.whenNewProjectIsSelected();
Fixture.whenProjectIsBuiltUsingContextMenu();
Fixture.whenOpenSbomTool();
Fixture.whenRedirectOutputToTheFileClicked();
Fixture.whenRunSbomTool();
Fixture.thenCheckInConsole();
Fixture.whenRefreshProject();
Fixture.thenOpenSbomFile();
Fixture.thenCheckSbomFile();
}
// @Test
// public void givenNewProjectCreatedBuiltWhenRunSbomThenSbomIsGeneratedInConsole() throws Exception
// {
// Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
// Fixture.givenProjectNameIs("NewProjectSbomSecondTest");
// Fixture.whenNewProjectIsSelected();
// Fixture.whenProjectIsBuiltUsingContextMenu();
// Fixture.whenOpenSbomTool();
// Fixture.whenRunSbomTool();
// Fixture.thenCheckResultInConsole();
// }

// @Test
// public void givenNewProjectCreatedBuiltWhenRunSBOMtoolRedirectOutputToFileThenCheckConsoleAndSbomFile()
// throws Exception
// {
// Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
// Fixture.givenProjectNameIs("NewProjectSbomThirdTest");
// Fixture.whenNewProjectIsSelected();
// Fixture.whenProjectIsBuiltUsingContextMenu();
// Fixture.whenOpenSbomTool();
// Fixture.whenRedirectOutputToTheFileClicked();
// Fixture.whenRunSbomTool();
// Fixture.thenCheckInConsole();
// Fixture.whenRefreshProject();
// Fixture.thenOpenSbomFile();
// Fixture.thenCheckSbomFile();
// }

@Test
public void givenNewProjectCreatedBuiltWhenOpenSbomAndCleanProjectDescriptionPathThenCheckPathValidation()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,18 +120,18 @@ public void givenNewProjectCreatedAndRenamedAfterThenProjectIsBuildSuccessfully(
Fixture.thenConsoleShowsBuildSuccessful();
}

@Test
public void givenNewProjectCreatedDfuBuiltThenHasDfuBin() throws Exception
{
Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
Fixture.givenProjectNameIs("NewProjectTestDFU");
Fixture.whenNewProjectIsSelected();
Fixture.thenLaunchTargetIsSelectedFromLaunchTargets("esp32s2");
Fixture.turnOnDfu();
Fixture.whenProjectIsBuiltUsingContextMenu();
Fixture.thenProjectHasTheFile("dfu.bin", "/build");
Fixture.turnOffDfu();
}
// @Test
// public void givenNewProjectCreatedDfuBuiltThenHasDfuBin() throws Exception
// {
// Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
// Fixture.givenProjectNameIs("NewProjectTestDFU");
// Fixture.whenNewProjectIsSelected();
// Fixture.thenLaunchTargetIsSelectedFromLaunchTargets("esp32s2");
// Fixture.turnOnDfu();
// Fixture.whenProjectIsBuiltUsingContextMenu();
// Fixture.thenProjectHasTheFile("dfu.bin", "/build");
// Fixture.turnOffDfu();
// }

@Test
public void givenNewProjectCreatedThenInstallNewComponent() throws Exception
Expand All @@ -145,17 +145,17 @@ public void givenNewProjectCreatedThenInstallNewComponent() throws Exception
Fixture.checkIfNewComponentIsInstalledUsingContextMenu();
}

@Test
public void givenNewProjectCreatedBuiltAndThenProjectCleanUsingContextMenu() throws Exception
{
Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
Fixture.givenProjectNameIs("NewProjectCleanTest");
Fixture.whenNewProjectIsSelected();
Fixture.whenProjectIsBuiltUsingContextMenu();
Fixture.whenProjectCleanUsingContextMenu();
Fixture.whenRefreshProject();
Fixture.checkIfProjectCleanedFilesInBuildFolder();
}
// @Test
// public void givenNewProjectCreatedBuiltAndThenProjectCleanUsingContextMenu() throws Exception
// {
// Fixture.givenNewEspressifIDFProjectIsSelected("EspressIf", "Espressif IDF Project");
// Fixture.givenProjectNameIs("NewProjectCleanTest");
// Fixture.whenNewProjectIsSelected();
// Fixture.whenProjectIsBuiltUsingContextMenu();
// Fixture.whenProjectCleanUsingContextMenu();
// Fixture.whenRefreshProject();
// Fixture.checkIfProjectCleanedFilesInBuildFolder();
// }

@Test
public void givenNewProjectCreatedBuiltAndThenProjectFullCleanUsingContextMenu() throws Exception
Expand Down
Loading