Skip to content
Snippets Groups Projects
Commit 16556cfc authored by Pierre-Yves David's avatar Pierre-Yves David :octopus:
Browse files

data-env: split the setup script and test them

More consolidation of the existing work.
parent bdcb9368
No related branches found
No related tags found
1 merge request!15basic data-setup
......@@ -5,7 +5,14 @@
# You still have to build the env by hand.
set -euo pipefail
if [ $# -ne 3 ]; then
echo >&2 "USAGE: setup-00-minimal.sh ENV-NAME DATA-ENV-PATH REPO-PATH"
echo >&2 " ENV-NAME: the name that will be recorded for the data-env"
echo >&2 " DATA-ENV-PATH: the path to that data-env"
echo >&2 " REPO-PATH: the path of the main repository within that data-env"
fi
env_name=$1
data_env_directory=$2
repository_path=$3
......@@ -8,8 +15,8 @@
env_name=$1
data_env_directory=$2
repository_path=$3
repo="$data_env_directory/$repository_path"
repo="${data_env_directory}/${repository_path}"
desc="${data_env_directory}/data-env.poulpe"
......@@ -20,8 +27,3 @@
env-desc set "$desc" poulpe-environment.setup-method manual
env-desc set "$desc" data-env-vars.name "$env_name"
env-desc set "$desc" bench-input-vars.mercurial.main-repo-path "$repository_path"
env-desc set "$desc" bench-input-vars.mercurial.status.clean.no-iu "$repository_path"
for line in `hg debugformat -R $repo | sed 's/: \+/;/' | grep -v ' '`; do
env-desc set "$desc" data-env-vars.mercurial.repo.format.`echo $line | sed 's/;/ /'`
done
#!/bin/bash
#
# Simple script to record a directory containing a mercurial clone as a data-env
# Simple script to record the format variant of a data-envs
#
# This only record the variant of the main repository. The side repository are
# assumed to have the format.
#
# You still have to build the env by hand.
set -euo pipefail
......@@ -4,8 +7,9 @@
#
# You still have to build the env by hand.
set -euo pipefail
env_name=$1
data_env_directory=$2
repository_path=$3
if [ $# -ne 1 ]; then
echo >&2 "USAGE: setup-10-format.sh DATA-ENV-PATH"
echo >&2 " DATA-ENV-PATH: the path to that data-env"
fi
......@@ -11,5 +15,4 @@
repo="$data_env_directory/$repository_path"
data_env_directory=$1
desc="${data_env_directory}/data-env.poulpe"
......@@ -14,4 +17,4 @@
desc="${data_env_directory}/data-env.poulpe"
rm -f "$desc"
repository_path="`env-desc get "$desc" bench-input-vars.mercurial.main-repo-path`"
......@@ -17,10 +20,5 @@
env-desc set "$desc" poulpe-environment.environment-type data
env-desc set "$desc" poulpe-environment.format-version 0
env-desc set "$desc" poulpe-environment.setup-method manual
env-desc set "$desc" data-env-vars.name "$env_name"
env-desc set "$desc" bench-input-vars.mercurial.main-repo-path "$repository_path"
env-desc set "$desc" bench-input-vars.mercurial.status.clean.no-iu "$repository_path"
repo="$data_env_directory/$repository_path"
for line in `hg debugformat -R $repo | sed 's/: \+/;/' | grep -v ' '`; do
env-desc set "$desc" data-env-vars.mercurial.repo.format.`echo $line | sed 's/;/ /'`
......
#!/bin/bash
#
# Simple script to record a directory containing a mercurial clone as a data-env
# Simple script to record bench-input-vars for status.
#
......@@ -4,4 +4,5 @@
#
# You still have to build the env by hand.
# /!\ For now it only fills the `mercurial.status.clean.no-iu` variants,
# /!\ More work is needed to actually setup more interresting variants
set -euo pipefail
......@@ -6,6 +7,7 @@
set -euo pipefail
env_name=$1
data_env_directory=$2
repository_path=$3
if [ $# -ne 1 ]; then
echo >&2 "USAGE: setup-50-status.sh DATA-ENV-PATH"
echo >&2 " DATA-ENV-PATH: the path to that data-env"
fi
......@@ -11,5 +13,4 @@
repo="$data_env_directory/$repository_path"
data_env_directory=$1
desc="${data_env_directory}/data-env.poulpe"
......@@ -14,4 +15,4 @@
desc="${data_env_directory}/data-env.poulpe"
rm -f "$desc"
repository_path="`env-desc get "$desc" bench-input-vars.mercurial.main-repo-path`"
......@@ -17,7 +18,2 @@
env-desc set "$desc" poulpe-environment.environment-type data
env-desc set "$desc" poulpe-environment.format-version 0
env-desc set "$desc" poulpe-environment.setup-method manual
env-desc set "$desc" data-env-vars.name "$env_name"
env-desc set "$desc" bench-input-vars.mercurial.main-repo-path "$repository_path"
env-desc set "$desc" bench-input-vars.mercurial.status.clean.no-iu "$repository_path"
......@@ -23,5 +19,1 @@
env-desc set "$desc" bench-input-vars.mercurial.status.clean.no-iu "$repository_path"
for line in `hg debugformat -R $repo | sed 's/: \+/;/' | grep -v ' '`; do
env-desc set "$desc" data-env-vars.mercurial.repo.format.`echo $line | sed 's/;/ /'`
done
#!/bin/bash
#
# Simple script to record a directory containing a mercurial clone as a data-env
# Simple script to fully setup a
#
# You still have to build the env by hand.
set -euo pipefail
......@@ -4,8 +4,17 @@
#
# You still have to build the env by hand.
set -euo pipefail
if [ $# -ne 3 ]; then
echo >&2 "USAGE: setup-full.sh ENV-NAME DATA-ENV-PATH REPO-PATH"
echo >&2 " ENV-NAME: the name that will be recorded for the data-env"
echo >&2 " DATA-ENV-PATH: the path to that data-env"
echo >&2 " REPO-PATH: the path of the main repository within that data-env"
fi
script_dir="`dirname $0`"
env_name=$1
data_env_directory=$2
repository_path=$3
......@@ -8,10 +17,7 @@
env_name=$1
data_env_directory=$2
repository_path=$3
repo="$data_env_directory/$repository_path"
desc="${data_env_directory}/data-env.poulpe"
rm -f "$desc"
# XXX should probably automatically find script and run them. However there are
# few of them now so explicit listing seems simpler.
......@@ -17,11 +23,7 @@
env-desc set "$desc" poulpe-environment.environment-type data
env-desc set "$desc" poulpe-environment.format-version 0
env-desc set "$desc" poulpe-environment.setup-method manual
env-desc set "$desc" data-env-vars.name "$env_name"
env-desc set "$desc" bench-input-vars.mercurial.main-repo-path "$repository_path"
env-desc set "$desc" bench-input-vars.mercurial.status.clean.no-iu "$repository_path"
for line in `hg debugformat -R $repo | sed 's/: \+/;/' | grep -v ' '`; do
env-desc set "$desc" data-env-vars.mercurial.repo.format.`echo $line | sed 's/;/ /'`
done
echo "create the base data-env"
"${script_dir}"/setup-00-minimal.sh $env_name $data_env_directory $repository_path
echo "register the format details"
"${script_dir}"/setup-10-format.sh $data_env_directory
echo "setup for \`hg status\` benchmark"
"${script_dir}"/setup-50-status.sh $data_env_directory
Test the utility to setup data environment
------------------------------------------
This tests the data setup script for Mercurial.
$ PATH="${TESTDIR}/../bin:$PATH"
$ SETUP_PATH="${TESTDIR}/../suites/hg/setup-data/"
Basic manual setup of the data-env data
$ mkdir my-data-env
$ hg init my-data-env/base-repo/
$ hg -R my-data-env/base-repo/ debugbuilddag +1524 --new-file
Test the full setup
--------------------
$ "${SETUP_PATH}"/setup-full.sh "my-test-data-env" my-data-env base-repo
create the base data-env
creating new file: "my-data-env/data-env.poulpe"
register the format details
setup for `hg status` benchmark
$ env-desc show my-data-env/data-env.poulpe
bench-input-vars:
mercurial:
main-repo-path = base-repo
status:
clean:
no-iu = base-repo
data-env-vars:
mercurial:
repo:
format:
changelog-v2 = no
compression = zstd
compression-level = default
copies-sdc = no
dirstate-v2 = no
dotencode = yes
fncache = yes
generaldelta = yes
persistent-nodemap = yes (rust !)
persistent-nodemap = no (no-rust !)
plain-cl-delta = yes
revlog-v2 = no
share-safe = yes
sparserevlog = yes
tracked-hint = no
name = my-test-data-env
poulpe-environment:
environment-type = data
format-version = 0
setup-method = manual
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment