From c4d2bcb7bc6e25bb5d4b3132e9f4bf55a6d64e0b Mon Sep 17 00:00:00 2001 From: Andreas Scherer Date: Tue, 24 Dec 2024 19:09:11 +0100 Subject: [PATCH] Write tests for 'brew list --version [--cask]'. HELP WANTED! How can I create test packages in the 'Caskroom'? I can only run 'brew tests' on Linux, because my Mac Mini (macOS 14.7.2) fails due to missing "mutex.h" (or some such). At least the new test for 'brew list --version' succeeds (on Linux). --- Library/Homebrew/test/cmd/list_spec.rb | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/test/cmd/list_spec.rb b/Library/Homebrew/test/cmd/list_spec.rb index 97a6f1466a1db..4852e64dc6a4c 100644 --- a/Library/Homebrew/test/cmd/list_spec.rb +++ b/Library/Homebrew/test/cmd/list_spec.rb @@ -4,7 +4,8 @@ require "cmd/shared_examples/args_parse" RSpec.describe Homebrew::Cmd::List do - let(:formulae) { %w[bar foo qux] } + let(:formulae) { %w[bar qux foo] } + let(:casks) { %w[tex git sgb] } it_behaves_like "parseable arguments" @@ -12,9 +13,28 @@ formulae.each do |f| (HOMEBREW_CELLAR/f/"1.0/somedir").mkpath end + #casks.each do |f| + #(HOMEBREW_CELLAR/"../Caskroom"/f/"42.0/somedir").mkpath + #end expect { brew "list", "--formula" } - .to output("#{formulae.join("\n")}\n").to_stdout + .to output("#{formulae.sort.join("\n")}\n").to_stdout + .and not_to_output.to_stderr + .and be_a_success + + #expect { brew "list", "--cask" } + #.to output("#{casks.sort.join("\n")}\n").to_stdout + #.and not_to_output.to_stderr + #.and be_a_success + + #expect { brew "list", "--cask", "--version" } + #.to output("#{casks.sort.map{|name| name + " 42.0\n"}}\n").to_stdout + #.and not_to_output.to_stderr + #.and be_a_success + + expect { brew "list", "--version" } + .to output("#{formulae.sort.map{|name| name + " 1.0"}.join("\n")}\n").to_stdout # + + #"#{casks.sort.map{|name| name + " 42.0"}.join("\n")}\n").to_stdout .and not_to_output.to_stderr .and be_a_success end