Skip to content

Testing And Validation

Kevin M. White edited this page Nov 15, 2023 · 10 revisions

The quickest and easiest way to become familiar with super is to try different options while in test mode. In this mode super does not perform any Apple software updates, Jamf Pro Policy Triggers, or system restarts. Thus allowing you to test the other features and options of super.

Test Mode

Mode to validate super workflow options including; credentials, deferrals, deadlines, dialogs, and notifications.

Command option examples:
--test-mode or -T

Command option disable examples:
--test-mode-off or -t

Configuration profile example:
<key>TestMode</key>
<true/>

When super is in test mode, it does not check for software updates or upgrades. Notifications in test mode only remain open for 10 seconds before super moves on with the workflow. However, you can change this duration via the --test-mode-timeout option as documented later on this page. Also, note that test mode will temporarily override any interactive dialog timeouts.

Because the test mode workflow does not actually check for available updates or upgrades, all macOS version numbers displayed in test mode are based on the current macOS version of the system.

Test mode via Terminal Test mode via Terminal

Changing Test Mode Behavior

As a default, test mode only simulates the macOS minor update workflow dialogs and notifications. Alternately, while in test mode, you can enable the following options individually to simulate other workflow variations including;

  • Simulate macOS major upgrade workflows:
    --test-mode --install-macos-major-upgrades

  • Simulate macOS Rapid Security Response update workflows:
    --test-mode --install-rapid-security-responses

  • Simulate installing non-macOS software updates without restarting workflows:
    --test-mode --install-non-system-updates-without-restarting

  • Simulate user initialed install now workflows:
    --test-mode --workflow-install-now

Custom Test Mode Timeout

The amount of time in seconds to leave dialogs with timeouts and all notifications open while in test mode.

Command option example:
--test-mode-timeout=30

Command option disable example:
--test-mode-timeout=X

Configuration profile example:
<key>TestModeTimeout</key>
<string>30</string>

Using this option overrides the default test mode timeout of 10 seconds. Timeouts less than 10 seconds or more than 120 seconds (2 minutes) are rounded accordingly. Also, note that this timeout will temporarily override any interactive dialog timeouts.

Free Storage Space Validation

Prior to downloading and installing macOS updates or upgrades super validates that there is enough free storage space to perform the workflow. The free storage space requirements are automatically calculated by super based on the macOS update or upgrade download size plus an additional overhead of 15 GB for macOS updates and 35 GB for macOS upgrades. However, you can override the free storage space requirements as documented later on this page.

If there is not adequate free storage space, and a user is currently logged in, the workflow is paused while super displays an insufficient storage dialog encouraging the user to remove unnecessary items. This also opens the built-in macOS Storage Settings (or Storage Manager on older macOS systems) to assist the user in removing unnecessary items.

As a default the super workflow remains paused and the dialog remains open until there is enough free storage space to continue with the workflow. Alternately you can also set an interactive dialog timeout, in which case a timer is also displayed in the dialog.

If this workflow pause times out or there is no currently logged in user when super initially detects that there is insufficient free storage space then the super workflow exits and automatically tries again later based on the error deferral timer.

Insufficient storage dialog Insufficient storage dialog

Free Storage Space Testing Overrides

Override the default automatically calculated free storage space requirements.

Command option example for macOS updates:
--test-storage-update=1000

Command option example for macOS upgrades:
--test-storage-upgrade=1000

Command option disable example for macOS updates:
--test-storage-upgrade=X

Command option disable example for macOS upgrades:
--test-storage-upgrade=X

Configuration profile example for macOS updates:
<key>TestStorageUpdate</key> <string>1000</string>

Configuration profile example for macOS upgrades:
<key>TestStorageUpgrade</key>
<string>1000</string>

You can set the free storage space testing overrides to any whole number (representing gigabytes required) including very large numbers to easily test the insufficient storage dialog. While changing the default free space storage size is useful for testing workflows it is not recommend for production.

Battery Power Validation

For portable Mac computers super validates that the system is either connected to a power adapter or that the battery is sufficiently charged (20% for Apple silicon, 50% for Intel) before attempting to install macOS updates or upgrades. If the battery level is below this requirement, and a user is currently logged in, the workflow is paused and super displays an insufficient power dialog encouraging the user to attach the computer to a power adapter.

As a default the super workflow remains paused and the dialog remains open until the user connects a power adapter. Alternately you can also set an interactive dialog timeout, in which case a timer is also displayed in the dialog.

If this workflow pause times out or there is no currently logged in user when super initially detects that there is insufficient battery power then the workflow exits and automatically tries again later based on the error deferral timer.

Power required dialog Power required dialog

Battery Level Testing Override

Override the default battery level percentage (20% for Apple silicon, 50% for Intel) requirement.

Command option example:
--test-battery-level=101

Command option disable example:
--test-battery-level=X

Configuration profile example:
<key>TestBatteryLevel</key>
<string>101</string>

You can set the battery level override to any whole number (representing battery percentage level required) including a number over 100 percent to easily test the insufficient power dialog. While changing the default battery level percentage is useful for testing workflows it is not recommend for production.

Reset Local super Settings

Delete all locally saved options, except for any previously saved authentication options. Thus returning all non-authentication options to their default setting.

Command option examples:
--reset-super or -x or -X

Sometimes the super preferences file may contain settings that are causing unexpected results, so resetting these settings can help resolve issues. For example, if you make changes to super settings via a MDM configuration profile, consider also using the --reset-super option to clear any locally cached super options that may cause conflicts.

You can also use this option along with the --auth-delete-all option to delete any saved update credentials. In addition, you can use the --reset-super option along with the --workflow-disable-update-check option to fully disable any active or deferred Apple software update workflows.

This option can not be set via a MDM configuration profile. However, any other options that are specified via a super MDM configuration profile remain in effect.