Skip to content

Commit d44006f

Browse files
Fix integration tests
1 parent 953e0df commit d44006f

File tree

3 files changed

+61
-3
lines changed

3 files changed

+61
-3
lines changed

.github/workflows/main.yml

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,30 @@ jobs:
5151
key: ${{ runner.os }}-go-${{ hashFiles('go.mod') }}
5252
restore-keys: |
5353
${{ runner.os }}-go-
54+
- name: Install Java
55+
run: |
56+
curl -s "https://get.sdkman.io" | bash
57+
source "$HOME/.sdkman/bin/sdkman-init.sh"
58+
echo "sdkman_auto_answer=true" >> ~/.sdkman/etc/config
59+
# sdk list java
60+
61+
sdk install java 11.0.24-zulu
62+
echo "JAVA11_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
63+
64+
sdk install java 17.0.12-zulu
65+
echo "JAVA17_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
66+
67+
# by default use JDK 11
68+
sdk default java 11.0.24-zulu
69+
sdk use java 11.0.24-zulu
70+
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
71+
echo "PATH=$PATH" >> $GITHUB_ENV
5472
- name: Install CCM
55-
run: pip install "git+https://github.com/riptano/ccm.git@${CCM_VERSION}"
73+
run: |
74+
python3 -m venv ~/venv
75+
~/venv/bin/pip install setuptools
76+
~/venv/bin/pip install "git+https://github.com/riptano/ccm.git@${CCM_VERSION}"
77+
echo "PATH=~/venv/bin:$PATH" >> $GITHUB_ENV
5678
- name: Start cassandra nodes
5779
run: |
5880
VERSION=${{ matrix.cassandra_version }}
@@ -135,8 +157,30 @@ jobs:
135157
- uses: actions/setup-go@v4
136158
with:
137159
go-version: ${{ matrix.go }}
160+
- name: Install Java
161+
run: |
162+
curl -s "https://get.sdkman.io" | bash
163+
source "$HOME/.sdkman/bin/sdkman-init.sh"
164+
echo "sdkman_auto_answer=true" >> ~/.sdkman/etc/config
165+
# sdk list java
166+
167+
sdk install java 11.0.24-zulu
168+
echo "JAVA11_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
169+
170+
sdk install java 17.0.12-zulu
171+
echo "JAVA17_HOME=$JAVA_HOME_17_X64" >> $GITHUB_ENV
172+
173+
# by default use JDK 11
174+
sdk default java 11.0.24-zulu
175+
sdk use java 11.0.24-zulu
176+
echo "JAVA_HOME=$JAVA_HOME_11_X64" >> $GITHUB_ENV
177+
echo "PATH=$PATH" >> $GITHUB_ENV
138178
- name: Install CCM
139-
run: pip install "git+https://github.com/riptano/ccm.git@${CCM_VERSION}"
179+
run: |
180+
python3 -m venv ~/venv
181+
~/venv/bin/pip install setuptools
182+
~/venv/bin/pip install "git+https://github.com/riptano/ccm.git@${CCM_VERSION}"
183+
echo "PATH=~/venv/bin:$PATH" >> $GITHUB_ENV
140184
- name: Start cassandra nodes
141185
run: |
142186
VERSION=${{ matrix.cassandra_version }}

control_ccm_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ func (f *TestHostFilter) SetAllowedHosts(hosts map[string]ccm.Host) {
5555
}
5656

5757
func TestControlConn_ReconnectRefreshesRing(t *testing.T) {
58-
if err := ccm.AllUp(); err != nil {
58+
if err := ccm.AllUpWait(); err != nil {
5959
t.Fatal(err)
6060
}
6161

internal/ccm/ccm.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import (
3535
"os/exec"
3636
"runtime"
3737
"strings"
38+
"time"
3839
)
3940

4041
func execCmd(args ...string) (*bytes.Buffer, error) {
@@ -71,6 +72,19 @@ func AllUp() error {
7172
return nil
7273
}
7374

75+
func AllUpWait() error {
76+
deadline := time.Now().Add(60 * time.Second)
77+
observedErr := errors.New("placeholder")
78+
for {
79+
observedErr = AllUp()
80+
if observedErr == nil || time.Now().After(deadline) {
81+
return observedErr
82+
}
83+
time.Sleep(500 * time.Millisecond)
84+
}
85+
return observedErr
86+
}
87+
7488
func NodeUp(node string) error {
7589
args := []string{node, "start", "--wait-for-binary-proto"}
7690
if runtime.GOOS == "windows" {

0 commit comments

Comments
 (0)