Skip to content

Test a_refill_that_queues_nothing_says_so_rather_than_going_quiet fails in Nix sandbox #478

Description

@LordMZTE

Describe the bug
The test mentioned in the title fails when trying to build spotatui in a Nix sandbox with:

failures:

---- infra::network::dj::in_tui::tests::a_refill_that_queues_nothing_says_so_rather_than_going_quiet stdout ----

thread 'infra::network::dj::in_tui::tests::a_refill_that_queues_nothing_says_so_rather_than_going_quiet' (12050) panicked at src/infra/network/dj.rs:1154:7:
["DJ error (agent CLI): could not run `/build/spotatui-turn-stub-11488/say-only`. Is it installed and on PATH? (behavior.dj_agent_command)"]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    infra::network::dj::in_tui::tests::a_refill_that_queues_nothing_says_so_rather_than_going_quiet

test result: FAILED. 952 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.78s

To Reproduce
Attempt to build this Nix expression, which is a candidate for the package for 0.41.0 in nixpkgs (which I maintain). The test only fails with withAiDj = true, which has been newly added as an argument to the Nix package to support the new feature.

{
  lib,
  rustPlatform,
  fetchFromGitHub,
  nix-update-script,
  pkg-config,
  alsa-lib,
  openssl,
  pipewire,

  withPipewireVisualizer ? true,
  withAiDj ? true,
  withMCPServer ? false,
}:
rustPlatform.buildRustPackage (finalAttrs: {
  pname = "spotatui";
  version = "0.41.0";

  src = fetchFromGitHub {
    owner = "LargeModGames";
    repo = "spotatui";
    tag = "v${finalAttrs.version}";
    hash = "sha256-uTNrynFPVQibgt4pBVvPLbxN4EFdAC7ezZ91GftSHac=";
  };

  cargoHash = "sha256-X2xyEN43jwT6xr3iACLdvuOaH0SQdtxeJBBP1rEhy80=";

  nativeBuildInputs = [ pkg-config ] ++ lib.optional withPipewireVisualizer rustPlatform.bindgenHook;

  buildInputs = [
    alsa-lib
    openssl
  ]
  ++ lib.optional withPipewireVisualizer pipewire;

  buildNoDefaultFeatures = true;
  buildFeatures = [
    "cover-art"
    "discord-rpc"
    "mpris"
    "streaming"
    "telemetry"
  ]
  ++ lib.optional withAiDj "ai-dj"
  ++ lib.optional withPipewireVisualizer "audio-viz"
  ++ lib.optional withMCPServer "mcp-server";

  passthru.updateScript = nix-update-script { };

  meta = {
    description = "Fully standalone Spotify client for the terminal";
    homepage = "https://github.com/LargeModGames/spotatui";
    changelog = "https://github.com/LargeModGames/spotatui/releases/tag/v${finalAttrs.version}";
    license = lib.licenses.mit;
    maintainers = [ lib.maintainers.lordmzte ];
    mainProgram = "spotatui";

    # macOS is supported by upstream, but the package maintainer has no way to test this.
    platforms = lib.platforms.linux;
  };
})

Expected behavior
Tests pass with ai-dj enabled.

Desktop (please complete the following information):

  • OS: Linux, NixOS
  • Terminal foot
  • Version 0.41.0

Additional context
Full Log: https://gist.github.com/LordMZTE/2abb1f42e40746f932c266b05cb3dc5a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions