Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Migrate TestCompileManuallyInstalledPlatformUsingPlatformLocalTxt fro…
…m test_compile_part_3.py to compile_part_3_test.go
  • Loading branch information
MatteoPologruto committed Oct 13, 2022
commit f620c28b0522ca438c99d4ecdbb371980f39ba71
40 changes: 40 additions & 0 deletions internal/integrationtest/compile/compile_part_3_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -283,3 +283,43 @@ func TestCompileManuallyInstalledPlatform(t *testing.T) {
_, _, err = cli.Run("compile", "--clean", "-b", fqbn, sketchPath.String())
require.NoError(t, err)
}

func TestCompileManuallyInstalledPlatformUsingPlatformLocalTxt(t *testing.T) {
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
defer env.CleanUp()

_, _, err := cli.Run("update")
require.NoError(t, err)

sketchName := "CompileSketchManuallyInstalledPlatformUsingPlatformLocalTxt"
sketchPath := cli.SketchbookDir().Join(sketchName)
fqbn := "arduino-beta-development:avr:uno"
_, _, err = cli.Run("sketch", "new", sketchPath.String())
require.NoError(t, err)

// Manually installs a core in sketchbooks hardware folder
gitUrl := "https://github.com/arduino/ArduinoCore-avr.git"
repoDir := cli.SketchbookDir().Join("hardware", "arduino-beta-development", "avr")
_, err = git.PlainClone(repoDir.String(), false, &git.CloneOptions{
URL: gitUrl,
ReferenceName: plumbing.NewTagReferenceName("1.8.3"),
})
require.NoError(t, err)

// Installs also the same core via CLI so all the necessary tools are installed
_, _, err = cli.Run("core", "install", "arduino:avr@1.8.3")
require.NoError(t, err)

// Verifies compilation works without issues
_, _, err = cli.Run("compile", "--clean", "-b", fqbn, sketchPath.String())
require.NoError(t, err)

// Overrides default platform compiler with an unexisting one
platformLocalTxt := repoDir.Join("platform.local.txt")
platformLocalTxt.WriteFile([]byte("compiler.c.cmd=my-compiler-that-does-not-exist"))

// Verifies compilation now fails because compiler is not found
_, stderr, err := cli.Run("compile", "--clean", "-b", fqbn, sketchPath.String())
require.Error(t, err)
require.Contains(t, string(stderr), "my-compiler-that-does-not-exist")
}
29 changes: 0 additions & 29 deletions test/test_compile_part_3.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,32 +37,3 @@
# result = run_command(["compile", "-b", fqbn, sketch_folder, "-v"])
# assert result.ok
# assert "Skipping dependencies detection for precompiled library Arduino_TensorFlowLite" in result.stdout


def test_compile_manually_installed_platform_using_platform_local_txt(run_command, data_dir):
assert run_command(["update"])

sketch_name = "CompileSketchManuallyInstalledPlatformUsingPlatformLocalTxt"
sketch_path = Path(data_dir, sketch_name)
fqbn = "arduino-beta-development:avr:uno"
assert run_command(["sketch", "new", sketch_path])

# Manually installs a core in sketchbooks hardware folder
git_url = "https://github.com/arduino/ArduinoCore-avr.git"
repo_dir = Path(data_dir, "hardware", "arduino-beta-development", "avr")
assert Repo.clone_from(git_url, repo_dir, multi_options=["-b 1.8.3"])

# Installs also the same core via CLI so all the necessary tools are installed
assert run_command(["core", "install", "arduino:avr@1.8.3"])

# Verifies compilation works without issues
assert run_command(["compile", "--clean", "-b", fqbn, sketch_path])

# Overrides default platform compiler with an unexisting one
platform_local_txt = Path(repo_dir, "platform.local.txt")
platform_local_txt.write_text("compiler.c.cmd=my-compiler-that-does-not-exist")

# Verifies compilation now fails because compiler is not found
res = run_command(["compile", "--clean", "-b", fqbn, sketch_path])
assert res.failed
assert "my-compiler-that-does-not-exist" in res.stderr