Skip to content

Commit ce97318

Browse files
grasci-armedriouk
andauthored
Set Bname to empty in GetDraftProjects if no board (#1322) (#2225)
Co-authored-by: Evgueni Driouk <[email protected]>
1 parent b87f311 commit ce97318

File tree

2 files changed

+20
-6
lines changed

2 files changed

+20
-6
lines changed

tools/projmgr/src/ProjMgrRpcServer.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
#include "ProductInfo.h"
1212

1313
#include "CrossPlatformUtils.h"
14-
#include <RteFsUtils.h>
14+
#include "RteFsUtils.h"
15+
#include "CollectionUtils.h"
1516

1617
#include <fstream>
1718
#include <iostream>
@@ -606,6 +607,10 @@ RpcArgs::DraftProjectsInfo RpcHandler::GetDraftProjects(const RpcArgs::DraftProj
606607
applications.message = "Board or device processing failed";
607608
return applications;
608609
}
610+
611+
if(contains_key(context.targetAttributes, "Dname") && !contains_key(context.targetAttributes, "Bname")) {
612+
context.targetAttributes["Bname"] = "";
613+
}
609614
m_worker.SetTargetAttributes(context, context.targetAttributes);
610615
}
611616

@@ -631,7 +636,7 @@ RpcArgs::DraftProjectsInfo RpcHandler::GetDraftProjects(const RpcArgs::DraftProj
631636
env.file = environment.load;
632637
env.folder = environment.folder;
633638
e.environments.push_back(env);
634-
}
639+
}
635640
if (!example.components.empty()) {
636641
e.components = example.components;
637642
}

tools/projmgr/test/src/ProjMgrRpcTests.cpp

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ TEST_F(ProjMgrRpcTests, RpcGetDraftProjects) {
652652
EXPECT_EQ(examples[1]["name"], "PreIncludeEnvFolder");
653653
EXPECT_EQ(templates[0]["name"], "Board3");
654654

655-
// filter 'device'
655+
// filter 'device', no board
656656
requests =
657657
FormatRequest(1, "LoadPacks") +
658658
FormatRequest(2, "GetDraftProjects", json{{ "filter", {{ "device", "RteTest_ARMCM0_Dual" }}}});
@@ -661,12 +661,21 @@ TEST_F(ProjMgrRpcTests, RpcGetDraftProjects) {
661661
examples = responses[1]["result"]["examples"];
662662
templates = responses[1]["result"]["templates"];
663663
EXPECT_EQ(2, examples.size());
664-
EXPECT_EQ(3, templates.size());
664+
EXPECT_EQ(0, templates.size());
665665
EXPECT_EQ(examples[0]["name"], "PreInclude");
666666
EXPECT_EQ(examples[1]["name"], "PreIncludeEnvFolder");
667+
668+
// filter 'device', with board
669+
requests =
670+
FormatRequest(1, "LoadPacks") +
671+
FormatRequest(2, "GetDraftProjects", json{{ "filter", {{ "device", "RteTest_ARMCM0_Dual" },{"board", "RteTest Test board"}}}});
672+
responses = RunRpcMethods(requests);
673+
EXPECT_TRUE(responses[1]["result"]["success"]);
674+
examples = responses[1]["result"]["examples"];
675+
templates = responses[1]["result"]["templates"];
676+
EXPECT_EQ(0, examples.size());
677+
EXPECT_EQ(1, templates.size());
667678
EXPECT_EQ(templates[0]["name"], "Board1Template");
668-
EXPECT_EQ(templates[1]["name"], "Board2");
669-
EXPECT_EQ(templates[2]["name"], "Board3");
670679

671680
// filter 'device' that's not mounted on any board
672681
requests =

0 commit comments

Comments
 (0)