Merge "Add trace timer around SubNodeAdder::getSubNodes method" into stable-3.10
diff --git a/src/main/java/com/googlesource/gerrit/plugins/task/util/Copier.java b/src/main/java/com/googlesource/gerrit/plugins/task/util/Copier.java
index 434a4de..5fba939 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/task/util/Copier.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/task/util/Copier.java
@@ -23,6 +23,8 @@
try {
if (includeInaccessible) {
field.setAccessible(true);
+ } else if (!field.canAccess(from)) {
+ continue;
}
Object val = field.get(from);
if (!field.getName().equals("this$0")) { // Can't copy internal final field
diff --git a/test/docker/docker-compose.yaml b/test/docker/docker-compose.yaml
index 57cb5f2..512812f 100755
--- a/test/docker/docker-compose.yaml
+++ b/test/docker/docker-compose.yaml
@@ -1,4 +1,3 @@
-version: '3'
services:
gerrit-01:
diff --git a/test/docker/gerrit/Dockerfile b/test/docker/gerrit/Dockerfile
index ecac697..c52439f 100755
--- a/test/docker/gerrit/Dockerfile
+++ b/test/docker/gerrit/Dockerfile
@@ -1,6 +1,6 @@
FROM gerritcodereview/gerrit:3.10.0-ubuntu22
-ENV GERRIT_SITE /var/gerrit
+ENV GERRIT_SITE=/var/gerrit
RUN rm -rf "$GERRIT_SITE/plugins" && mkdir "$GERRIT_SITE/plugins"
RUN git config -f "$GERRIT_SITE/etc/gerrit.config" auth.type \
DEVELOPMENT_BECOME_ANY_ACCOUNT
diff --git a/test/docker/run.sh b/test/docker/run.sh
index 0335cfa..e24535c 100755
--- a/test/docker/run.sh
+++ b/test/docker/run.sh
@@ -53,76 +53,76 @@
check_prerequisite() {
docker --version > /dev/null || die "docker is not installed"
- docker-compose --version > /dev/null || die "docker-compose is not installed"
+ docker compose --version > /dev/null || die "docker compose is not installed"
}
build_images() {
- docker-compose "${COMPOSE_ARGS[@]}" build --quiet
+ docker compose "${COMPOSE_ARGS[@]}" build --quiet
}
run_task_plugin_tests() {
echo "Running test suite with default root_project and root_branch"
- docker-compose "${COMPOSE_ARGS[@]}" up --detach
- docker-compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
+ docker compose "${COMPOSE_ARGS[@]}" up --detach
+ docker compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
'/task/test/docker/run_tests/start.sh'
# TODO: Once the 'retest' functionality is fixed, the re-run with custom root prj and
# branch can be done without needing to bring down and start the containers again.
- docker-compose "${COMPOSE_ARGS[@]}" down -v --rmi local 2>/dev/null
+ docker compose "${COMPOSE_ARGS[@]}" down -v --rmi local 2>/dev/null
ROOT_CFG_PRJ=task-config
ROOT_CFG_BRANCH=refs/heads/master
echo "Re-running test suite with root_project=$ROOT_CFG_PRJ and root_branch=$ROOT_CFG_BRANCH"
- docker-compose "${COMPOSE_ARGS[@]}" up --detach
+ docker compose "${COMPOSE_ARGS[@]}" up --detach
configure_root_prj_and_branch
- docker-compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
+ docker compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
sh -c "/task/test/docker/run_tests/start.sh \
--root-config-project $ROOT_CFG_PRJ \
--root-config-branch $ROOT_CFG_BRANCH"
}
configure_root_prj_and_branch() {
- docker-compose "${COMPOSE_ARGS[@]}" exec -T gerrit-01 \
+ docker compose "${COMPOSE_ARGS[@]}" exec -T gerrit-01 \
sh -c "git config -f \$GERRIT_SITE/etc/task.config rootConfig.project $ROOT_CFG_PRJ"
- docker-compose "${COMPOSE_ARGS[@]}" exec -T gerrit-01 \
+ docker compose "${COMPOSE_ARGS[@]}" exec -T gerrit-01 \
sh -c "git config -f \$GERRIT_SITE/etc/task.config rootConfig.branch $ROOT_CFG_BRANCH"
- docker-compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
+ docker compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
sh -c "./task/test/docker/run_tests/wait-for-it.sh \$GERRIT_HOST:29418 -t -60" || \
die "Failed to start gerrit"
- docker-compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
+ docker compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
sh -c "cat \$USER_HOME/.ssh/id_rsa.pub | ssh -p 29418 -i /server-ssh-key/ssh_host_rsa_key \
\"Gerrit Code Review@\$GERRIT_HOST\" suexec --as admin@example.com -- gerrit set-account \
admin --add-ssh-key -" || die "Failed to add ssh key to admin account"
- docker-compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
+ docker compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
sh -c "ssh -p 29418 \$GERRIT_HOST gerrit plugin reload task" || die "Failed to reload plugin"
}
retest() {
- docker-compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
+ docker compose "${COMPOSE_ARGS[@]}" exec -T --user=admin run_tests \
sh -c "/task/test/docker/run_tests/start.sh --retest"
RESULT=$?
cleanup
}
get_run_test_container() {
- docker-compose "${COMPOSE_ARGS[@]}" ps | grep run_tests | awk '{ print $1 }'
+ docker compose "${COMPOSE_ARGS[@]}" ps | grep run_tests | awk '{ print $1 }'
}
cleanup() {
if [ "$PRESERVE" = "true" ] ; then
echo "Preserving the following docker setup"
- docker-compose "${COMPOSE_ARGS[@]}" ps
+ docker compose "${COMPOSE_ARGS[@]}" ps
echo ""
echo "To exec into runtests container, use following command:"
echo "docker exec -it $(get_run_test_container) /bin/bash"
echo ""
echo "Run the following command to bring down the setup:"
- echo "docker-compose ${COMPOSE_ARGS[@]} down -v --rmi local"
+ echo "docker compose ${COMPOSE_ARGS[@]} down -v --rmi local"
echo ""
options_prefix "COMPOSE_ARGS" "--compose-arg"
echo "Use command below to re run tests after making changes to test scripts"
echo " $MYDIR/$MYPROG --retest --preserve ${COMPOSE_ARGS[@]}"
else
- docker-compose "${COMPOSE_ARGS[@]}" down -v --rmi local 2>/dev/null
+ docker compose "${COMPOSE_ARGS[@]}" down -v --rmi local 2>/dev/null
fi
}
diff --git a/tools/playbooks/install_docker.yaml b/tools/playbooks/install_docker.yaml
index 89cf315..85f3045 100644
--- a/tools/playbooks/install_docker.yaml
+++ b/tools/playbooks/install_docker.yaml
@@ -4,5 +4,6 @@
tasks:
- name: Install compose
shell: |
- sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- sudo chmod +x /usr/local/bin/docker-compose
+ sudo mkdir -p /usr/local/lib/docker/cli-plugins
+ sudo curl -SL "https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/lib/docker/cli-plugins/docker-compose
+ sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose