Mercurial > hg
view tests/test-pushvars.t @ 49991:3997c64eff8b
test: use a more direct approach to test racy mutation
The previous test was relying on implementation details and harder to maintain.
The new version is closer to the initial intend : "What happens the file get overwritten from under the current process"
This change is motivated by further changes around the transaction and dirstate
logic that would break the fragile equilibrium that existed before this patch.
Making this change early make it easier to review on its own and remove noise
in future larger changes.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 07 Feb 2023 13:14:59 +0100 |
parents | d7304434390f |
children | 7e5be4a7cda7 |
line wrap: on
line source
Setup $ PYTHONPATH=$TESTDIR/..:$PYTHONPATH $ export PYTHONPATH $ cat > $TESTTMP/pretxnchangegroup.sh << EOF > #!/bin/sh > env | egrep "^HG_USERVAR_(DEBUG|BYPASS_REVIEW)" | sort > exit 0 > EOF $ cat >> $HGRCPATH << EOF > [hooks] > pretxnchangegroup = sh $TESTTMP/pretxnchangegroup.sh > EOF $ hg init repo $ hg clone -q repo child $ cd child Test pushing vars to repo with pushvars.server not set $ echo b > a $ hg commit -Aqm a $ hg push --pushvars "DEBUG=1" --pushvars "BYPASS_REVIEW=true" pushing to $TESTTMP/repo searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files Setting pushvars.sever = true and then pushing. $ echo [push] >> $HGRCPATH $ echo "pushvars.server = true" >> $HGRCPATH $ echo b >> a $ hg commit -Aqm a $ hg push --pushvars "DEBUG=1" --pushvars "BYPASS_REVIEW=true" pushing to $TESTTMP/repo searching for changes adding changesets adding manifests adding file changes HG_USERVAR_BYPASS_REVIEW=true HG_USERVAR_DEBUG=1 added 1 changesets with 1 changes to 1 files Test pushing var with empty right-hand side $ echo b >> a $ hg commit -Aqm a $ hg push --pushvars "DEBUG=" pushing to $TESTTMP/repo searching for changes adding changesets adding manifests adding file changes HG_USERVAR_DEBUG= added 1 changesets with 1 changes to 1 files Test pushing bad vars $ echo b >> a $ hg commit -Aqm b $ hg push --pushvars "DEBUG" pushing to $TESTTMP/repo searching for changes abort: unable to parse variable 'DEBUG', should follow 'KEY=VALUE' or 'KEY=' format [255]