[ 
https://issues.apache.org/jira/browse/CASSANDRA-16595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17326020#comment-17326020
 ] 

David Capwell edited comment on CASSANDRA-16595 at 4/20/21, 6:15 PM:
---------------------------------------------------------------------

[~bereng], the ci-test script isn't related to circle-ci, it is a wrapper 
around ant to match all CIs.

{code}
$ cat ci-test
#!/usr/bin/env bash

#set -o xtrace
set -o errexit
set -o pipefail
set -o nounset

usage() {
  if [[ $# -gt 0 ]]; then
    echo "$*" 1>&2
  fi
  cat <<EOF
Usage: $(basename $0) [class name] (options)*
Options:
--cdc           - runs with cdc enabled
--compression   - run with compression enabled
--reuse         - skip calling ant realclean
EOF
  exit 1
}

if [[ $# -eq 0 ]]; then
  usage "Missing required arguments"
fi

class_name="$1"
shift
path="$(echo "$class_name" | tr '.' '/' ).java"
prefix="$( find test | grep "$path" | awk -F/ '{print $2}' )"

task="testclasslist"
fresh_build=true
while [[ "$#" -gt 0 ]]; do
  case "$1" in
    --cdc)
      task="testclasslist-cdc"
      shift
      ;;
    --compression)
      task="testclasslist-compression"
      shift
      ;;
    --reuse)
      fresh_build=false
      shift
      ;;
    *)
      usage "Unknown argument $1"
      ;;
  esac
done

if [[ "$fresh_build" == true ]]; then
  if [[ ! "$path" =~ distributed/upgrade ]]; then
    ant realclean && ant && ant generate-idea-files
  fi
fi

# cleanup logs so w/e is around are for this run
rm -rf build/test/logs || true

test_timeout=$(grep "name=\"test.$prefix.timeout\"" build.xml | awk -F'"' 
'{print $4}' || true)
if [ -z "$test_timeout" ]; then
  test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' '{print $4}')
fi
ant "$task" -Dtest.timeout="$test_timeout" -Dtest.classlistfile=<(echo "$path") 
-Dtest.classlistprefix=$prefix
{code}


was (Author: dcapwell):
The ci-test script isn't related to circle-ci, it is a wrapper around ant to 
match all CIs.

{code}
$ cat ci-test
#!/usr/bin/env bash

#set -o xtrace
set -o errexit
set -o pipefail
set -o nounset

usage() {
  if [[ $# -gt 0 ]]; then
    echo "$*" 1>&2
  fi
  cat <<EOF
Usage: $(basename $0) [class name] (options)*
Options:
--cdc           - runs with cdc enabled
--compression   - run with compression enabled
--reuse         - skip calling ant realclean
EOF
  exit 1
}

if [[ $# -eq 0 ]]; then
  usage "Missing required arguments"
fi

class_name="$1"
shift
path="$(echo "$class_name" | tr '.' '/' ).java"
prefix="$( find test | grep "$path" | awk -F/ '{print $2}' )"

task="testclasslist"
fresh_build=true
while [[ "$#" -gt 0 ]]; do
  case "$1" in
    --cdc)
      task="testclasslist-cdc"
      shift
      ;;
    --compression)
      task="testclasslist-compression"
      shift
      ;;
    --reuse)
      fresh_build=false
      shift
      ;;
    *)
      usage "Unknown argument $1"
      ;;
  esac
done

if [[ "$fresh_build" == true ]]; then
  if [[ ! "$path" =~ distributed/upgrade ]]; then
    ant realclean && ant && ant generate-idea-files
  fi
fi

# cleanup logs so w/e is around are for this run
rm -rf build/test/logs || true

test_timeout=$(grep "name=\"test.$prefix.timeout\"" build.xml | awk -F'"' 
'{print $4}' || true)
if [ -z "$test_timeout" ]; then
  test_timeout=$(grep 'name="test.timeout"' build.xml | awk -F'"' '{print $4}')
fi
ant "$task" -Dtest.timeout="$test_timeout" -Dtest.classlistfile=<(echo "$path") 
-Dtest.classlistprefix=$prefix
{code}

> Remove test parallelism from ant build.xml in all branches
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-16595
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16595
>             Project: Cassandra
>          Issue Type: Task
>          Components: Test/unit
>            Reporter: Michael Semb Wever
>            Assignee: Michael Semb Wever
>            Priority: Normal
>             Fix For: 2.2.20, 3.0.25, 3.11.11, 4.0-rc1, 4.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Cassandra's build.xml supports parallel test runners. This functionality is 
> available through {{`-Dtest.runners`}} and the {{`testparallel`}} ant macro.
> Having not been actively used and atrophied over time, it breaks a number of 
> tests. The distributed in-jvm tests don't work at all with parallel runners 
> (currently they need `-Dtest.runners=1` specified to work). And there are 
> plenty of flakies, from where
> tests use fixed ports (StorageServiceServerTest), to byteman (eg 
> BMUnitRunner), and around conf files on disk.
> This was raised on the dev ML, where the consensus was to remove it: 
> https://lists.apache.org/thread.html/r1ca3c72b90fa6c57c1cb7dcd02a44221dcca991fe7392abd8c29fe95%40%3Cdev.cassandra.apache.org%3E
> The idea is to then replace ant test parallelism with docker container 
> parallelism.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to