From 9a60526c471f76ca4f23f19e9b075494b9262ff2 Mon Sep 17 00:00:00 2001 From: Bevan Kay Date: Mon, 18 Aug 2025 22:52:20 +1000 Subject: [PATCH] test/cask: speed up tests --- Library/Homebrew/test/cask/installer_spec.rb | 12 +++++++++++- Library/Homebrew/test/cask/reinstall_spec.rb | 14 +++++++------- Library/Homebrew/test/cask/uninstall_spec.rb | 2 +- Library/Homebrew/test/cask/upgrade_spec.rb | 6 +++--- .../cask/Casks/local-transmission-zip.rb | 11 +++++++++++ .../Casks/outdated/local-transmission-zip.rb | 9 +++++++++ .../support/fixtures/cask/transmission-2.61.zip | Bin 0 -> 2424 bytes 7 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 Library/Homebrew/test/support/fixtures/cask/Casks/local-transmission-zip.rb create mode 100644 Library/Homebrew/test/support/fixtures/cask/Casks/outdated/local-transmission-zip.rb create mode 100644 Library/Homebrew/test/support/fixtures/cask/transmission-2.61.zip diff --git a/Library/Homebrew/test/cask/installer_spec.rb b/Library/Homebrew/test/cask/installer_spec.rb index 4702de3467..58fa04f5c3 100644 --- a/Library/Homebrew/test/cask/installer_spec.rb +++ b/Library/Homebrew/test/cask/installer_spec.rb @@ -142,7 +142,7 @@ RSpec.describe Cask::Installer, :cask do end it "allows already-installed Casks to be installed if force is provided" do - transmission = Cask::CaskLoader.load(cask_path("local-transmission")) + transmission = Cask::CaskLoader.load(cask_path("local-transmission-zip")) expect(transmission).not_to be_installed @@ -153,6 +153,16 @@ RSpec.describe Cask::Installer, :cask do end.not_to raise_error end + it "installs a cask from a dmg file" do + transmission = Cask::CaskLoader.load(cask_path("local-transmission")) + + expect(transmission).not_to be_installed + + described_class.new(transmission).install + + expect(transmission).to be_installed + end + it "works naked-pkg-based Casks" do naked_pkg = Cask::CaskLoader.load(cask_path("container-pkg")) diff --git a/Library/Homebrew/test/cask/reinstall_spec.rb b/Library/Homebrew/test/cask/reinstall_spec.rb index 7218ff9e06..a377bf750f 100644 --- a/Library/Homebrew/test/cask/reinstall_spec.rb +++ b/Library/Homebrew/test/cask/reinstall_spec.rb @@ -51,18 +51,18 @@ RSpec.describe Cask::Reinstall, :cask do end it "allows reinstalling a Cask" do - Cask::Installer.new(Cask::CaskLoader.load(cask_path("local-transmission"))).install + Cask::Installer.new(Cask::CaskLoader.load(cask_path("local-transmission-zip"))).install - expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed + expect(Cask::CaskLoader.load(cask_path("local-transmission-zip"))).to be_installed - described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission")) - expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed + described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission-zip")) + expect(Cask::CaskLoader.load(cask_path("local-transmission-zip"))).to be_installed end it "allows reinstalling a non installed Cask" do - expect(Cask::CaskLoader.load(cask_path("local-transmission"))).not_to be_installed + expect(Cask::CaskLoader.load(cask_path("local-transmission-zip"))).not_to be_installed - described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission")) - expect(Cask::CaskLoader.load(cask_path("local-transmission"))).to be_installed + described_class.reinstall_casks(Cask::CaskLoader.load("local-transmission-zip")) + expect(Cask::CaskLoader.load(cask_path("local-transmission-zip"))).to be_installed end end diff --git a/Library/Homebrew/test/cask/uninstall_spec.rb b/Library/Homebrew/test/cask/uninstall_spec.rb index 0bf718e1f2..1c8963ab8c 100644 --- a/Library/Homebrew/test/cask/uninstall_spec.rb +++ b/Library/Homebrew/test/cask/uninstall_spec.rb @@ -37,7 +37,7 @@ RSpec.describe Cask::Uninstall, :cask do it "can uninstall and unlink multiple Casks at once" do caffeine = Cask::CaskLoader.load(cask_path("local-caffeine")) - transmission = Cask::CaskLoader.load(cask_path("local-transmission")) + transmission = Cask::CaskLoader.load(cask_path("local-transmission-zip")) Cask::Installer.new(caffeine).install Cask::Installer.new(transmission).install diff --git a/Library/Homebrew/test/cask/upgrade_spec.rb b/Library/Homebrew/test/cask/upgrade_spec.rb index 244df29988..ffcf94e0b2 100644 --- a/Library/Homebrew/test/cask/upgrade_spec.rb +++ b/Library/Homebrew/test/cask/upgrade_spec.rb @@ -13,7 +13,7 @@ RSpec.describe Cask::Upgrade, :cask do let(:auto_updates_path) { auto_updates.config.appdir.join("MyFancyApp.app") } let(:auto_updates) { Cask::CaskLoader.load("auto-updates") } let(:local_transmission_path) { local_transmission.config.appdir.join("Transmission.app") } - let(:local_transmission) { Cask::CaskLoader.load("local-transmission") } + let(:local_transmission) { Cask::CaskLoader.load("local-transmission-zip") } let(:local_caffeine_path) { local_caffeine.config.appdir.join("Caffeine.app") } let(:local_caffeine) { Cask::CaskLoader.load("local-caffeine") } let(:renamed_app) { Cask::CaskLoader.load("renamed-app") } @@ -35,7 +35,7 @@ RSpec.describe Cask::Upgrade, :cask do let(:installed) do [ "outdated/local-caffeine", - "outdated/local-transmission", + "outdated/local-transmission-zip", "outdated/auto-updates", "outdated/version-latest", "outdated/renamed-app", @@ -266,7 +266,7 @@ RSpec.describe Cask::Upgrade, :cask do let(:installed) do [ "outdated/bad-checksum", - "outdated/local-transmission", + "outdated/local-transmission-zip", "outdated/bad-checksum2", ] end diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/local-transmission-zip.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/local-transmission-zip.rb new file mode 100644 index 0000000000..82d2a532f5 --- /dev/null +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/local-transmission-zip.rb @@ -0,0 +1,11 @@ +cask "local-transmission-zip" do + version "2.61" + sha256 "5e96aeb365aa8fabd51bb0d85f5f2bfe0135d392bb2f4120aa6b8171415906da" + + url "file://#{TEST_FIXTURE_DIR}/cask/transmission-2.61.zip" + name "Transmission" + desc "BitTorrent client" + homepage "https://transmissionbt.com/" + + app "Transmission.app" +end diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/outdated/local-transmission-zip.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/outdated/local-transmission-zip.rb new file mode 100644 index 0000000000..1a820be177 --- /dev/null +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/outdated/local-transmission-zip.rb @@ -0,0 +1,9 @@ +cask "local-transmission-zip" do + version "2.60" + sha256 "5e96aeb365aa8fabd51bb0d85f5f2bfe0135d392bb2f4120aa6b8171415906da" + + url "file://#{TEST_FIXTURE_DIR}/cask/transmission-2.61.zip" + homepage "https://brew.sh/" + + app "Transmission.app" +end diff --git a/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.zip b/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.zip new file mode 100644 index 0000000000000000000000000000000000000000..c423a9d8acad8bda114e2f2023c632554c7ac0d9 GIT binary patch literal 2424 zcmWIWW@Zs#0D)6+KODdeC?Uw8zz|ZDm{**eSzMf%pQo2tP@rF0!Og(P@|BT+0jw)D zgqMNcmw_+fvE1T}=Rh0)H*R%|h$pgfQrL`h&d)1J%_}L!YHskB?cpFZQO%uzX08HW zbA1z&{e!WZu7K6_Y&6qV@R}Z!TAW{6l$?s){kJ!xyPt!Bg8@BU@Y~>-mzJ+rkds+l zf-U5cLnyS*I=|UKr1kkHZJGB!)S^Qy`-J3#gt8`jwe@lAUdei6T5a&D{p&L~rP%hr zm#O-;i>yeo{J#g^AY-7>fe zit<7jDrZk#w$3g}NRr{GwCWe>i+h>Qd_J?w^k|j!+Jg+e+x;qIUU7IQH+oJnId|u! zfB7P<(tf4Nhs{wgVe|6c`c_Rkwcy{SQ^gTqGuXd;+`8f4sby~uTqsxbv09_S$8Y?w zV0qz>`$8w>1H9QeG?zq)oB$>sCSW>)q$q45rw@#q_;_DOXaC>`eTC%~!X_A(nGb1}s z{+ubArrMc#v$e9aHFc)I=i0^=P3C5iLp@zj{!9tk+c4+Mqe&A^HHA!A5191EG;=@Wg^U>(%paS*XZCEViQQlWj0$!R)pZx_ z7XdVmZE>6C_#2@vbh%K#m`)pOfmTD33@aNjZ8LBJ;Vxzdh7~{y7#IM&$gnE_ literal 0 HcmV?d00001