mirror of
https://github.com/dolthub/dolt.git
synced 2026-01-04 09:30:38 -06:00
bats: Factor setup and teardown logic out of tests, greatly reducing duplication
This commit is contained in:
@@ -1,20 +1,13 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
# Append the directory name with the pid of the calling process so
|
||||
# multiple tests can be run in parallel on the same machine
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table create -s=`batshelper 1pk5col-ints.schema` test
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
# Create a single primary key table and do stuff
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table create -s=`batshelper 1pk5col-strings.schema` test
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
|
||||
@test "export a table with a string with commas to csv" {
|
||||
run dolt table put-row test pk:tim c1:is c2:super c3:duper c4:rad c5:"a,b,c,d,e"
|
||||
[ "$status" -eq 0 ]
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table create -s=`batshelper 1pksupportedtypes.schema` test
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "dolt table put-row with all types then examine table" {
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table create -s=`batshelper 2pk5col-ints.schema` test
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "create a table with a schema file and examine repo" {
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table create -s=`batshelper 1pk5col-ints.schema` one_pk
|
||||
dolt table create -s=`batshelper 2pk5col-ints.schema` two_pk
|
||||
dolt sql -q "insert into one_pk (pk,c1,c2,c3,c4,c5) values (0,0,0,0,0,0),(1,10,10,10,10,10),(2,20,20,20,20,20),(3,30,30,30,30,30)"
|
||||
@@ -15,7 +10,7 @@ setup() {
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "sql select from multiple tables" {
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table import -c -s `batshelper capital-letter-column-names.schema` test `batshelper capital-letter-column-names.csv`
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "capital letter col names. put a row in a table using dolt table put-row" {
|
||||
|
||||
@@ -1,19 +1,17 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
SKIP_DOLT_INIT=true
|
||||
setup_common $SKIP_DOLT_INIT
|
||||
mkdir $BATS_TMPDIR/config-test$$
|
||||
nativevar DOLT_ROOT_PATH $BATS_TMPDIR/config-test$$ /p
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
cd $BATS_TMPDIR/dolt-repo-$$
|
||||
}
|
||||
|
||||
teardown() {
|
||||
teardown_common
|
||||
rm -rf "$BATS_TMPDIR/config-test$$"
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
}
|
||||
|
||||
@test "make sure no dolt configuration for simulated fresh user" {
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "two branches modify different cell different row. merge. no conflict" {
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "create a single primary key table" {
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "diff summary comparing working table to last commit" {
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
# Tests on an empty dolt repository
|
||||
|
||||
@@ -1,25 +1,23 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
REMOTE=http://localhost:50051/test-org/test-repo
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:$GOPATH/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
setup_common
|
||||
cd $BATS_TMPDIR
|
||||
mkdir remotes-$$
|
||||
echo remotesrv log available here $BATS_TMPDIR/remotes-$$/remotesrv.log
|
||||
remotesrv --http-port 1234 --dir ./remotes-$$ &> ./remotes-$$/remotesrv.log 3>&- &
|
||||
mkdir dolt-repo-$$
|
||||
cd dolt-repo-$$
|
||||
dolt init
|
||||
dolt remote add test-remote $REMOTE
|
||||
dolt push test-remote master
|
||||
export DOLT_HEAD_COMMIT=`get_head_commit`
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf $BATS_TMPDIR/{git,dolt}-repo-$$
|
||||
teardown_common
|
||||
rm -rf $BATS_TMPDIR/git-repo-$$
|
||||
pgrep remotesrv | xargs kill
|
||||
rm -rf $BATS_TMPDIR/remotes-$$
|
||||
}
|
||||
|
||||
@@ -5,10 +5,33 @@ if [ -z "$BATS_TMPDIR" ]; then
|
||||
mkdir $BATS_TMPDIR
|
||||
fi
|
||||
|
||||
nativevar DOLT_ROOT_PATH $BATS_TMPDIR/config-$$ /p
|
||||
dolt config --global --add user.name "Bats Tests"
|
||||
dolt config --global --add user.email "bats@email.fake"
|
||||
dolt config --global --add metrics.disabled true
|
||||
|
||||
nativebatsdir() { echo `nativepath $BATS_TEST_DIRNAME/$1`; }
|
||||
batshelper() { echo `nativebatsdir helper/$1`; }
|
||||
|
||||
set_dolt_user() {
|
||||
dolt config --global --add user.name "$1" > /dev/null 2>&1
|
||||
dolt config --global --add user.email "$2" > /dev/null 2>&1
|
||||
}
|
||||
|
||||
setup_common() {
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
# Append the directory name with the pid of the calling process so
|
||||
# multiple tests can be run in parallel on the same machine
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
|
||||
SKIP_INIT=$1
|
||||
if [ "$SKIP_INIT" != true ] ; then
|
||||
dolt init
|
||||
fi
|
||||
}
|
||||
|
||||
teardown_common() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
}
|
||||
|
||||
nativevar DOLT_ROOT_PATH $BATS_TMPDIR/config-$$ /p
|
||||
dolt config --global --add metrics.disabled true > /dev/null 2>&1
|
||||
set_dolt_user "Bats Tests" "bats@email.fake"
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table create -s=`batshelper 1pk5col-ints.schema` test1
|
||||
dolt table create -s=`batshelper 1pk5col-ints.schema` test2
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "examine a multi table repo" {
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
setup_common
|
||||
mkdir no-dolt-dir-$$
|
||||
cd no-dolt-dir-$$
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf $BATS_TMPDIR/no-dolt-dir-$$
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "checking we have a dolt executable available" {
|
||||
@@ -226,9 +224,8 @@ NOT_VALID_REPO_ERROR="The current directory is not a valid dolt repository."
|
||||
}
|
||||
|
||||
@test "initializing a dolt repository" {
|
||||
cd $BATS_TMPDIR
|
||||
mkdir dolt-repo-$$
|
||||
cd dolt-repo-$$
|
||||
mkdir dolt-repo-$$-new
|
||||
cd dolt-repo-$$-new
|
||||
run dolt init
|
||||
[ "$status" -eq 0 ]
|
||||
[ "$output" = "Successfully initialized dolt data repository." ]
|
||||
@@ -236,5 +233,5 @@ NOT_VALID_REPO_ERROR="The current directory is not a valid dolt repository."
|
||||
[ -d .dolt/noms ]
|
||||
[ -f .dolt/config.json ]
|
||||
[ -f .dolt/repo_state.json ]
|
||||
rm -rf $BATS_TMPDIR/dolt-repo-$$
|
||||
}
|
||||
rm -rf $BATS_TMPDIR/dolt-repo-$$-new
|
||||
}
|
||||
|
||||
@@ -1,22 +1,19 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
setup_common
|
||||
cd $BATS_TMPDIR
|
||||
mkdir remotes-$$
|
||||
mkdir remotes-$$/test-org-empty
|
||||
echo remotesrv log available here $BATS_TMPDIR/remotes-$$/remotesrv.log
|
||||
remotesrv --http-port 1234 --dir ./remotes-$$ &> ./remotes-$$/remotesrv.log 3>&- &
|
||||
mkdir dolt-repo-$$
|
||||
cd dolt-repo-$$
|
||||
dolt init
|
||||
mkdir "dolt-repo-clones"
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf $BATS_TMPDIR/dolt-repo-$$
|
||||
teardown_common
|
||||
pgrep remotesrv | xargs kill
|
||||
rm -rf $BATS_TMPDIR/remotes-$$
|
||||
}
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "replace table using csv" {
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "changing column types should not produce a data diff error" {
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt config --global --unset metrics.disabled
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
rm -rf "$BATS_TMPDIR/config-$$/.dolt/eventsData/"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table import -c -pk=Timestamp test `batshelper sql-reserved-column-name.csv`
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "run sql select on a table with a column name that is an sql reserved word" {
|
||||
|
||||
@@ -1,18 +1,13 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
dolt table create -s=`batshelper 1pk5col-ints.schema` test
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "run a query in sql shell" {
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
#!/usr/bin/env bats
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
|
||||
setup() {
|
||||
load $BATS_TEST_DIRNAME/helper/common.bash
|
||||
export PATH=$PATH:~/go/bin
|
||||
export NOMS_VERSION_NEXT=1
|
||||
cd $BATS_TMPDIR
|
||||
mkdir "dolt-repo-$$"
|
||||
cd "dolt-repo-$$"
|
||||
dolt init
|
||||
setup_common
|
||||
}
|
||||
|
||||
teardown() {
|
||||
rm -rf "$BATS_TMPDIR/dolt-repo-$$"
|
||||
teardown_common
|
||||
}
|
||||
|
||||
@test "update table using csv" {
|
||||
|
||||
Reference in New Issue
Block a user