From 4dd754f8263ce86d7d52fedbb9c8b44fd3122fd9 Mon Sep 17 00:00:00 2001 From: Kyle Date: Fri, 3 Apr 2026 13:27:55 -0700 Subject: [PATCH] Remove external command deps from fake yt-dlp shell script Replace sed with shell parameter expansion, dirname with ${var%/*}, cat heredoc with printf, and use /bin/mkdir absolute path. This ensures the script works when PATH is empty (SUBMINER_YTDLP_BIN test). --- .../services/youtube/track-download.test.ts | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/src/core/services/youtube/track-download.test.ts b/src/core/services/youtube/track-download.test.ts index 40e1c849..b69e5385 100644 --- a/src/core/services/youtube/track-download.test.ts +++ b/src/core/services/youtube/track-download.test.ts @@ -99,7 +99,6 @@ process.exit(0); function makeFakeYtDlpShellScript(dir: string): string { const scriptPath = path.join(dir, 'yt-dlp'); const script = `#!/bin/sh -PATH=/usr/bin:/bin:/usr/local/bin has_auto_subs=0 wants_auto_subs=0 wants_manual_subs=0 @@ -136,11 +135,12 @@ if [ -n "$YTDLP_EXPECT_SUB_LANG" ] && [ "$sub_lang" != "$YTDLP_EXPECT_SUB_LANG" exit 4 fi -prefix="$(printf '%s' "$output_template" | sed 's/\.%(ext)s$//')" +prefix="\${output_template%.%(ext)s}" if [ -z "$prefix" ]; then exit 1 fi -mkdir -p "$(dirname \"$prefix\")" +dir="\${prefix%/*}" +[ -d "$dir" ] || /bin/mkdir -p "$dir" if [ "$YTDLP_FAKE_MODE" = "multi" ]; then OLD_IFS="$IFS" @@ -152,18 +152,7 @@ if [ "$YTDLP_FAKE_MODE" = "multi" ]; then done IFS="$OLD_IFS" elif [ "$YTDLP_FAKE_MODE" = "rolling-auto" ]; then - cat <<'EOF' > "\${prefix}.vtt" -WEBVTT - -00:00:01.000 --> 00:00:02.000 -今日は - -00:00:02.000 --> 00:00:03.000 -今日はいい天気ですね - -00:00:03.000 --> 00:00:04.000 -今日はいい天気ですね本当に -EOF + printf 'WEBVTT\\n\\n00:00:01.000 --> 00:00:02.000\\n今日は\\n\\n00:00:02.000 --> 00:00:03.000\\n今日はいい天気ですね\\n\\n00:00:03.000 --> 00:00:04.000\\n今日はいい天気ですね本当に\\n' > "\${prefix}.vtt" elif [ "$YTDLP_FAKE_MODE" = "multi-primary-only-fail" ]; then primary_lang="\${sub_lang%%,*}" if [ -n "$primary_lang" ]; then