annotate pretxncommit.sh @ 12:ba73d8ba81dc default tip

refactor
author drewp@bigasterisk.com
date Mon, 18 Mar 2024 16:51:44 -0700
parents d98cb018fad7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
1 #!/bin/zsh -e
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
2
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
3 # e2e test including lib installs and test suite
0
drewp@bigasterisk.com
parents:
diff changeset
4
4
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
5
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
6 SRC_DIR=`pwd`
0
drewp@bigasterisk.com
parents:
diff changeset
7
4
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
8 WORK_DIR=/tmp/rdferry_pretxncommit_$$
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
9 mkdir $WORK_DIR
0
drewp@bigasterisk.com
parents:
diff changeset
10
4
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
11 TRAPZERR() {
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
12 rm -r $WORK_DIR
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
13 }
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
14
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
15
6
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
16 # If you're running pretxnsubmit.sh outside of a commit...
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
17 if [[ -z $HG_NODE ]]; then
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
18 echo "using src and test code from $SRC_DIR"
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
19 STAGE_DIR=$SRC_DIR
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
20 else
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
21 echo "using pre-commit code from -r $HG_NODE"
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
22 STAGE_DIR=$WORK_DIR/stage
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
23 hg clone -r $HG_NODE $SRC_DIR $STAGE_DIR
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
24 fi
0
drewp@bigasterisk.com
parents:
diff changeset
25
6
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
26 # TEST_PROJECT depends on rdferry being installed
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
27 # from STAGE_DIR.
4
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
28 TEST_PROJECT_DIR=$WORK_DIR/test_project
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
29 mkdir $TEST_PROJECT_DIR
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
30 cd $TEST_PROJECT_DIR
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
31 pdm config --local venv.in_project True
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
32 pdm init --non-interactive
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
33 pdm add $STAGE_DIR pytest pytest-asyncio aiohttp
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
34 pdm run python -c 'import rdferry; print(f"using {rdferry}")'
0
drewp@bigasterisk.com
parents:
diff changeset
35
6
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
36 # Pretend the example code is test project's code.
d885fce5e4e7 try to reduce warnings about leaked sessions
drewp@bigasterisk.com
parents: 4
diff changeset
37 cp -a $STAGE_DIR/examples .
4
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
38 pdm run pytest examples
0
drewp@bigasterisk.com
parents:
diff changeset
39
4
ddf021c87083 pretxncommit
drewp@bigasterisk.com
parents: 0
diff changeset
40 rm -r $WORK_DIR
0
drewp@bigasterisk.com
parents:
diff changeset
41 exit 0