Skip to content

Commit c548aa1

Browse files
committed
Fix PackageManager reset
1 parent 216c72b commit c548aa1

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

arduino/cores/packagemanager/package_manager.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@ func NewPackageManager(indexDir, packagesDir, downloadDir, tempDir *paths.Path)
6565
func (pm *PackageManager) Clear() {
6666
pm.Packages = cores.NewPackages()
6767
pm.CustomGlobalProperties = properties.NewMap()
68-
pm.discoveryManager.StopAll()
69-
pm.discoveryManager = discoverymanager.New()
68+
pm.discoveryManager.Clear()
7069
}
7170

7271
// DiscoveryManager returns the DiscoveryManager in use by this PackageManager

arduino/cores/packagemanager/package_manager_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,12 +332,12 @@ func TestPackageManagerClear(t *testing.T) {
332332
emptyPackageManager := packagemanager.NewPackageManager(customHardware, customHardware, customHardware, customHardware)
333333

334334
// Verifies they're not equal
335-
require.NotEqual(t, &packageManager, &emptyPackageManager)
335+
require.NotEqual(t, packageManager, emptyPackageManager)
336336

337337
// Clear the first PackageManager that contains loaded hardware
338338
packageManager.Clear()
339339
// Verifies both PackageManagers are now equal
340-
require.Equal(t, &packageManager, &emptyPackageManager)
340+
require.Equal(t, packageManager, emptyPackageManager)
341341
}
342342

343343
func TestFindToolsRequiredFromPlatformRelease(t *testing.T) {

arduino/discovery/discoverymanager/discoverymanager.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,17 @@ type DiscoveryManager struct {
3131
func New() *DiscoveryManager {
3232
return &DiscoveryManager{
3333
discoveries: map[string]*discovery.PluggableDiscovery{},
34-
globalEventCh: make(chan *discovery.Event, 5),
34+
globalEventCh: nil,
3535
}
3636
}
3737

38+
// Clear resets the DiscoveryManager to its initial state
39+
func (dm *DiscoveryManager) Clear() {
40+
dm.QuitAll()
41+
dm.discoveries = map[string]*discovery.PluggableDiscovery{}
42+
dm.globalEventCh = nil
43+
}
44+
3845
// IDs returns the list of discoveries' ids in this DiscoveryManager
3946
func (dm *DiscoveryManager) IDs() []string {
4047
ids := []string{}

0 commit comments

Comments
 (0)