diff --git a/plinth/modules/snapshot/templates/snapshot_not_supported.html b/plinth/modules/snapshot/templates/snapshot_not_supported.html
index 5a932f158..7e72da616 100644
--- a/plinth/modules/snapshot/templates/snapshot_not_supported.html
+++ b/plinth/modules/snapshot/templates/snapshot_not_supported.html
@@ -7,7 +7,7 @@
{% load i18n %}
{% block configuration %}
-
+
{% blocktrans trimmed with fs_types_supported|join:', ' as types_supported %}
You have a filesystem of type {{ fs_type }}. Snapshots
are currently only available on {{ types_supported }}
diff --git a/plinth/modules/snapshot/tests/snapshot.feature b/plinth/modules/snapshot/tests/snapshot.feature
index ce49b2580..bd2687186 100644
--- a/plinth/modules/snapshot/tests/snapshot.feature
+++ b/plinth/modules/snapshot/tests/snapshot.feature
@@ -6,7 +6,8 @@ Feature: Storage Snapshots
Background:
Given I'm a logged in user
- Given the snapshot application is installed
+ And the snapshot application is installed
+ And the filesystem supports snapshots
Scenario: Create a snapshot
Given the list of snapshots is empty
diff --git a/plinth/modules/snapshot/tests/test_functional.py b/plinth/modules/snapshot/tests/test_functional.py
index 6016ad957..e036d5772 100644
--- a/plinth/modules/snapshot/tests/test_functional.py
+++ b/plinth/modules/snapshot/tests/test_functional.py
@@ -3,6 +3,7 @@
Functional, browser based tests for snapshot app.
"""
+import pytest
from pytest_bdd import given, parsers, scenarios, then, when
from plinth.tests import functional
@@ -10,6 +11,13 @@ from plinth.tests import functional
scenarios('snapshot.feature')
+@given('the filesystem supports snapshots')
+def is_snapshots_supported(session_browser):
+ if not _is_snapshot_supported(session_browser):
+ pytest.skip('Filesystem doesn\'t support snapshots')
+ assert True
+
+
@given('the list of snapshots is empty')
def empty_snapshots_list(session_browser):
_delete_all(session_browser)
@@ -99,6 +107,12 @@ def _get_count(browser):
return len(browser.find_by_xpath('//tr')) - 1
+def _is_snapshot_supported(browser):
+ """Return whether the filesystem supports snapshots."""
+ functional.nav_to_module(browser, 'snapshot')
+ return not bool(browser.find_by_id('snapshot-not-supported'))
+
+
def _set_configuration(browser, free_space, timeline_enabled, software_enabled,
hourly, daily, weekly, monthly, yearly):
"""Set the configuration for snapshots."""