Simple, disposable alarms and timers for macOS.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Documentation Pester 1.1b23 Oct 2, 2017
Pester to do.html Pester to do.ooutline: Updated status. Sep 21, 2018
Pester to do.ooutline Pester to do.ooutline: Updated status. Sep 21, 2018
Source Auto Layout fixes for Read Me. Sep 21, 2018
.gitattributes Mark OmniOutliner HTML output as generated (which it is). Nov 12, 2016
.gitignore Fix ignores. Aug 2, 2015
LICENSE Update copyright dates. Sep 21, 2018 Script to copy testing versions to different OS VMs/machines. Oct 2, 2017


Simple, disposable alarms and timers for macOS.

Building Pester

  1. Clone this repository.
  2. cd /path/to/Pester
  3. git submodule update --init --force
  4. Copy the Growl 2.0.1 framework to /Library/Frameworks (included in the Growl 2.0.1 SDK).
  5. Open Pester’s project file (in the Source folder) in Xcode and build.

The Xcode and macOS versions I use to build Pester are mentioned at the bottom of the version history in the Read Me — or Xcode builds them into Pester’s Info.plist — though there should be a reasonable amount of slop. The most common thing to break is Perl dependencies, as macOS tends to include at most 2 versions of Perl. This is one reason why recent versions of Pester no longer support as many macOS versions as they once did (Apple’s free yearly updates, more aggressive deprecation policy, and my vanishing free time don’t help).

Running tests

Pester’s tests cover some trickier bits such as the exception-y deserialization process and interaction of Date::Manip with macOS date formats.

  1. Select Product → Test in Xcode.

Note that testDateCompletionSupportedLocales is expected to fail for some Spanish and Italian relative dates — these appear to be Date::Manip issues (patches welcome!)

Need ideas?

Open Pester to do.ooutline in OmniOutliner — it contains many ideas I haven’t had time to implement. If you don't have OmniOutliner, use this HTML version instead.