Skip to content

Commit 4fd2b1b

Browse files
committed
Tests use ghe-backup-config to setup special GHE_REMOTE_XXX paths
This should be a lot easier to maintain than trying to duplicate the path adjustment logic in tests. This change also makes it possible to run individual tests or the entire suite against an emulated remote with e.g., GHE_TEST_REMOTE_VERSION=2.0.0 test/test-ghe-restore.sh GHE_TEST_REMOTE_VERSION=11.10.340 make
1 parent 5a34f13 commit 4fd2b1b

2 files changed

Lines changed: 19 additions & 10 deletions

File tree

test/test-ghe-backup.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ begin_test "ghe-backup first snapshot"
4848

4949
# check that the version file was written
5050
[ -f "$GHE_DATA_DIR/current/version" ]
51-
[ $(cat "$GHE_DATA_DIR/current/version") = "v11.10.343" ]
51+
[ $(cat "$GHE_DATA_DIR/current/version") = "v$GHE_TEST_REMOTE_VERSION" ]
5252

5353
# check that the strategy file was written
5454
[ -f "$GHE_DATA_DIR/current/strategy" ]

test/testlib.sh

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,23 @@ TRASHDIR="$TMPDIR/$(basename "$0")-$$"
3232
# Point commands at the test backup.config file
3333
GHE_BACKUP_CONFIG="$ROOTDIR/test/backup.config"
3434
GHE_DATA_DIR="$TRASHDIR/data"
35-
export GHE_BACKUP_CONFIG GHE_DATA_DIR
36-
37-
# Point remote path locations to trashdir for test process
3835
GHE_REMOTE_DATA_DIR="$TRASHDIR/remote"
39-
GHE_REMOTE_DATA_USER_DIR="$GHE_REMOTE_DATA_DIR"
40-
GHE_REMOTE_METADATA_FILE="$GHE_REMOTE_DATA_DIR/enterprise/chef_metadata.json"
41-
GHE_REMOTE_LICENSE_FILE="$GHE_REMOTE_DATA_DIR/enterprise/enterprise.ghl"
42-
export GHE_REMOTE_DATA_DIR GHE_REMOTE_DATA_USER_DIR
43-
export GHE_REMOTE_METADATA_FILE GHE_REMOTE_LICENSE_FILE
36+
export GHE_BACKUP_CONFIG GHE_DATA_DIR GHE_REMOTE_DATA_DIR
37+
38+
# The default remote appliance version. This may be set in the environment prior
39+
# to invoking tests to emulate a different remote vm version.
40+
: ${GHE_TEST_REMOTE_VERSION:=11.10.344}
41+
export GHE_TEST_REMOTE_VERSION
42+
43+
# Source in the backup config and set GHE_REMOTE_XXX variables based on the
44+
# remote version established above or in the environment.
45+
. ghe-backup-config
46+
ghe_parse_remote_version "$GHE_TEST_REMOTE_VERSION"
47+
ghe_remote_version_config "$GHE_TEST_REMOTE_VERSION"
48+
49+
# Unset special variables meant to be inherited by individual ghe-backup or
50+
# ghe-restore process groups
51+
unset GHE_SNAPSHOT_TIMESTAMP
4452

4553
# keep track of num tests and failures
4654
tests=0
@@ -67,11 +75,12 @@ cd "$TRASHDIR"
6775
# much everything. You can pass a version number in the first argument to test
6876
# with different remote versions.
6977
setup_remote_metadata () {
78+
mkdir -p "$GHE_REMOTE_DATA_DIR" "$GHE_REMOTE_DATA_USER_DIR"
7079
mkdir -p "$(dirname "$GHE_REMOTE_METADATA_FILE")"
7180
echo '
7281
{
7382
"timestamp": "Wed Jul 30 13:48:52 +0000 2014",
74-
"version": "'${1:-11.10.343}'"
83+
"version": "'${1:-$GHE_TEST_REMOTE_VERSION}'"
7584
}
7685
' > "$GHE_REMOTE_METADATA_FILE"
7786
}

0 commit comments

Comments
 (0)