@@ -977,3 +977,25 @@ func TestCoreIndexWithoutChecksum(t *testing.T) {
977977 _ , _ , err = cli .Run ("core" , "list" , "--all" )
978978 require .NoError (t , err ) // this should not make the cli crash
979979}
980+
981+ func TestCoreInstallCreatesInstalledJson (t * testing.T ) {
982+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
983+ defer env .CleanUp ()
984+
985+ _ , _ , err := cli .Run ("core" , "update-index" )
986+ require .NoError (t , err )
987+ _ , _ , err = cli .Run ("core" , "install" , "arduino:avr@1.6.23" )
988+ require .NoError (t , err )
989+
990+ installedJsonFile := cli .DataDir ().Join ("packages" , "arduino" , "hardware" , "avr" , "1.6.23" , "installed.json" )
991+ require .FileExists (t , installedJsonFile .String ())
992+ installedJson , err := installedJsonFile .ReadFile ()
993+ require .NoError (t , err )
994+ wd , err := paths .Getwd ()
995+ require .NoError (t , err )
996+ expectedInstalledJson , err := wd .Parent ().Join ("testdata" , "installed.json" ).ReadFile ()
997+ require .NoError (t , err )
998+ sortedInstalled := requirejson .Parse (t , installedJson ).Query ("walk(if type == \" array\" then sort else . end)" ).String ()
999+ sortedExpected := requirejson .Parse (t , expectedInstalledJson ).Query ("walk(if type == \" array\" then sort else . end)" ).String ()
1000+ require .Equal (t , sortedExpected , sortedInstalled )
1001+ }
0 commit comments