Robert Schütz 2023-02-14 13:40:38 -08:00 committed by Robert Schütz
parent c17b2d71ea
commit 030ed6aadb
2 changed files with 8 additions and 108 deletions

View file

@ -1,29 +1,19 @@
{ lib
, fetchFromGitHub
, fetchpatch
, python3
}:
python3.pkgs.buildPythonApplication rec {
pname = "esptool";
version = "4.4";
version = "4.5";
src = fetchFromGitHub {
owner = "espressif";
repo = "esptool";
rev = "v${version}";
hash = "sha256-haLwf3loOvqdqQN/iuVBciQ6nCnuc9AqqOGKvDwLBHE=";
hash = "sha256-SwMdemCk3e3RyXTzoXIqDRywpg3ogE9nQjXGBz0BjwE=";
};
patches = [
./test-call-bin-directly.patch
(fetchpatch {
name = "bitstring-4-compatibility.patch";
url = "https://github.com/espressif/esptool/commit/ee27a6437576797d5f58c31e1c39f3a232a71df0.patch";
hash = "sha256-8/AzR3HK79eQQRSaGEKU4YKn/piPCPjm/G9pvizKuUE=";
})
];
propagatedBuildInputs = with python3.pkgs; [
bitstring
cryptography
@ -34,19 +24,18 @@ python3.pkgs.buildPythonApplication rec {
nativeCheckInputs = with python3.pkgs; [
pyelftools
pytest
pytestCheckHook
];
# tests mentioned in `.github/workflows/test_esptool.yml`
checkPhase = ''
runHook preCheck
export ESPSECURE_PY=$out/bin/espsecure.py
export ESPTOOL_PY=$out/bin/esptool.py
${python3.interpreter} test/test_imagegen.py
${python3.interpreter} test/test_espsecure.py
${python3.interpreter} test/test_merge_bin.py
${python3.interpreter} test/test_modules.py
pytest test/test_imagegen.py
pytest test/test_espsecure.py
pytest test/test_merge_bin.py
pytest test/test_image_info.py
pytest test/test_modules.py
runHook postCheck
'';

View file

@ -1,89 +0,0 @@
diff --git a/test/test_espsecure.py b/test/test_espsecure.py
index 25b0b87..627005c 100755
--- a/test/test_espsecure.py
+++ b/test/test_espsecure.py
@@ -35,7 +35,7 @@ class EspSecureTestCase:
Returns output as a string if there is any,
raises an exception if espsecure.py fails
"""
- cmd = [sys.executable, ESPSECURE_PY] + args.split(" ")
+ cmd = [ESPSECURE_PY] + args.split(" ")
print("\nExecuting {}...".format(" ".join(cmd)))
try:
diff --git a/test/test_esptool.py b/test/test_esptool.py
index 042a1ce..b294e26 100755
--- a/test/test_esptool.py
+++ b/test/test_esptool.py
@@ -57,7 +57,10 @@ try:
ESPTOOL_PY = os.environ["ESPTOOL_PY"]
except KeyError:
ESPTOOL_PY = os.path.join(TEST_DIR, "..", "esptool/__init__.py")
-ESPSECURE_PY = os.path.join(TEST_DIR, "..", "espsecure/__init__.py")
+try:
+ ESPSECURE_PY = os.environ["ESPSECURE_PY"]
+except KeyError:
+ ESPSECURE_PY = os.path.join(TEST_DIR, "..", "espsecure/__init__.py")
ESPRFC2217SERVER_PY = os.path.join(TEST_DIR, "..", "esp_rfc2217_server.py")
RETURN_CODE_FATAL_ERROR = 2
@@ -74,7 +77,6 @@ class ESPRFC2217Server(object):
def __init__(self, rfc2217_port=None):
self.port = rfc2217_port or self.get_free_port()
self.cmd = [
- sys.executable,
ESPRFC2217SERVER_PY,
"-p",
str(self.port),
@@ -130,7 +132,7 @@ class ESPRFC2217Server(object):
class EsptoolTestCase:
def run_espsecure(self, args):
- cmd = [sys.executable, ESPSECURE_PY] + args.split(" ")
+ cmd = [ESPSECURE_PY] + args.split(" ")
print("\nExecuting {}...".format(" ".join(cmd)))
try:
output = subprocess.check_output(
@@ -155,7 +157,7 @@ class EsptoolTestCase:
Raises an exception if esptool.py fails.
"""
trace_args = ["--trace"] if arg_trace else []
- cmd = [sys.executable, ESPTOOL_PY] + trace_args
+ cmd = [ESPTOOL_PY] + trace_args
if chip_name or arg_chip is not None and chip_name != "auto":
cmd += ["--chip", chip_name or arg_chip]
if rfc2217_port or arg_port is not None:
diff --git a/test/test_imagegen.py b/test/test_imagegen.py
index a1feec2..01bd59c 100755
--- a/test/test_imagegen.py
+++ b/test/test_imagegen.py
@@ -108,7 +108,7 @@ class BaseTestCase:
Run esptool.py image_info on a binary file,
assert no red flags about contents.
"""
- cmd = [sys.executable, ESPTOOL_PY, "--chip", chip, "image_info", binpath]
+ cmd = [ESPTOOL_PY, "--chip", chip, "image_info", binpath]
try:
output = subprocess.check_output(cmd)
output = output.decode("utf-8")
@@ -123,7 +123,7 @@ class BaseTestCase:
def run_elf2image(self, chip, elf_path, version=None, extra_args=[]):
"""Run elf2image on elf_path"""
- cmd = [sys.executable, ESPTOOL_PY, "--chip", chip, "elf2image"]
+ cmd = [ESPTOOL_PY, "--chip", chip, "elf2image"]
if version is not None:
cmd += ["--version", str(version)]
cmd += [elf_path] + extra_args
diff --git a/test/test_merge_bin.py b/test/test_merge_bin.py
index 8230069..2df5f8c 100755
--- a/test/test_merge_bin.py
+++ b/test/test_merge_bin.py
@@ -39,7 +39,6 @@ class TestMergeBin:
output_file.close()
cmd = [
- sys.executable,
ESPTOOL_PY,
"--chip",
chip,