view pretxncommit.sh @ 4:ddf021c87083

pretxncommit
author drewp@bigasterisk.com
date Sat, 16 Mar 2024 12:02:40 -0700
parents precommit.sh@fa108e01b284
children d885fce5e4e7
line wrap: on
line source

#!/bin/zsh -e

# e2e test including lib installs and test suite

HG_NODE=${HG_NODE:-tip}

echo node = $HG_NODE
SRC_DIR=`pwd`

WORK_DIR=/tmp/rdferry_pretxncommit_$$
mkdir $WORK_DIR

TRAPZERR() {
  rm -r $WORK_DIR
}


# $STAGE_DIR shall have the exact state to be committed.

STAGE_DIR=$WORK_DIR/stage
hg clone -r $HG_NODE $SRC_DIR $STAGE_DIR


# TEST_PROJECT depends on rdferry from STAGE_DIR

TEST_PROJECT_DIR=$WORK_DIR/test_project
mkdir $TEST_PROJECT_DIR
cd $TEST_PROJECT_DIR
pdm config --local venv.in_project True
pdm init --non-interactive
pdm add $STAGE_DIR pytest pytest-asyncio aiohttp
pdm run python -c 'import rdferry; print(f"using {rdferry}")'

# pretend the example code is test project's code
cp -a ../stage/examples .
pdm run pytest examples

rm -r $WORK_DIR
exit 0