escape-parser: Fix no_std build and add CI coverage

Fix `make test` failing on the wezterm-escape-parser no_std configuration,
and add CI coverage to prevent silent regressions.
This commit is contained in:
Wez Furlong 2026-10-10 08:37:27 +01:00
parent 9ce141d709
commit e2a98e1b8a
No known key found for this signature in database
GPG Key ID: A7E93559F0040A51
25 changed files with 81 additions and 4 deletions

View File

@ -97,6 +97,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -100,6 +100,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -79,6 +79,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -100,6 +100,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -103,6 +103,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -82,6 +82,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -94,6 +94,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -97,6 +97,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -76,6 +76,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -88,6 +88,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast --target=x86_64-apple-darwin"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser --target=x86_64-apple-darwin"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -91,6 +91,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast --target=x86_64-apple-darwin"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser --target=x86_64-apple-darwin"
- name: "Package"
env:
MACOS_APPLEID: ${{ secrets.MACOS_APPLEID }}

View File

@ -75,6 +75,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast --target=x86_64-apple-darwin"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser --target=x86_64-apple-darwin"
- name: "Package"
env:
MACOS_APPLEID: ${{ secrets.MACOS_APPLEID }}

View File

@ -100,6 +100,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -103,6 +103,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -82,6 +82,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -100,6 +100,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -103,6 +103,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -82,6 +82,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -105,6 +105,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -108,6 +108,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -84,6 +84,9 @@ jobs:
- name: "Test"
shell: bash
run: "cargo nextest run --all --no-fail-fast"
- name: "Test wezterm-escape-parser (no_std)"
shell: bash
run: "cargo nextest run -p wezterm-escape-parser"
- name: "Package"
shell: bash
run: "bash ci/deploy.sh"

View File

@ -477,12 +477,15 @@ rustup default {toolchain}
return steps
def test_all(self):
run = "cargo nextest run --all --no-fail-fast"
target = ""
if "macos" in self.name:
run += " --target=x86_64-apple-darwin"
target = " --target=x86_64-apple-darwin"
prefix = ""
if self.name == "centos7":
run = "source /opt/rh/devtoolset-9/enable\n" + run
return [
prefix = "source /opt/rh/devtoolset-9/enable\n"
run = prefix + "cargo nextest run --all --no-fail-fast" + target
run_no_std = prefix + "cargo nextest run -p wezterm-escape-parser" + target
steps = [
# Install cargo-nextest
InstallCrateStep("cargo-nextest", key=self.name),
# Run tests
@ -490,6 +493,11 @@ rustup default {toolchain}
if "win" in self.name
else RunStep(name="Test", run=run),
]
if "win" not in self.name:
steps += [
RunStep(name="Test wezterm-escape-parser (no_std)", run=run_no_std)
]
return steps
def package(self, trusted=False):
steps = []

View File

@ -1219,6 +1219,8 @@ impl Display for KittyImage {
#[cfg(test)]
mod test {
use super::*;
#[cfg(not(feature = "std"))]
use alloc::format;
use k9::assert_equal as assert_eq;
#[test]

View File

@ -171,6 +171,8 @@ impl Display for Esc {
#[cfg(test)]
mod test {
use super::*;
#[cfg(not(feature = "std"))]
use alloc::format;
use alloc::string::String;
fn encode(osc: &Esc) -> String {

View File

@ -193,6 +193,8 @@ mod test {
use crate::parser::Parser;
use crate::{Action, Esc, EscCode};
use alloc::boxed::Box;
#[cfg(not(feature = "std"))]
use alloc::format;
use k9::assert_equal as assert_eq;
#[test]