repo: Add OSTREE_REPO_TEST_ERROR=pre-commit env var

Setting this causes commit to error out.  There are other ways we
could do this in a more sophisticated fashion, such as via SystemTap
etc.  But this has low-tech applicablity, works as non-root.

The reason I'm adding this is so that we can add test cases for
cleanup of the `tmp/staging-` directory.

Closes: #170
Approved by: jlebon
This commit is contained in:
Colin Walters authored and Colin Walters (automation) committed 2016-05-02 18:44:44 +00:00
1 parent 3111248373
commit 15b3cab65e
4 files changed
+29 -1

No files matched your search

+7
View File
@@ -1442,6 +1442,13 @@ ostree_repo_commit_transaction (OstreeRepo *self,
g_return_val_if_fail (self->in_transaction == TRUE, FALSE);
if ((self->test_error_flags & OSTREE_REPO_TEST_ERROR_PRE_COMMIT) > 0)
{
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"OSTREE_REPO_TEST_ERROR_PRE_COMMIT specified");
goto out;
}
if (syncfs (self->tmp_dir_fd) < 0)
{
glnx_set_error_from_errno (error);