Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
4df622e
Persisted DkgState
ricardopinto Mar 28, 2022
1c29ed0
Detected issue and POC fix inplace
ricardopinto Mar 29, 2022
a82c9c1
Merging conflicts
stuckDaemon Mar 31, 2022
4219e61
Merge remote-tracking branch 'upstream/candidate' into candidate
stuckDaemon Apr 5, 2022
64fc488
Merge remote-tracking branch 'upstream/candidate' into candidate
stuckDaemon Apr 7, 2022
9332ab3
Merge commit 'upstream/candidate~' into candidate
stuckDaemon Apr 11, 2022
a4ce8e4
Merge remote-tracking branch 'upstream/candidate' into candidate
stuckDaemon Apr 12, 2022
05b7077
Persisted DkgState
ricardopinto Mar 28, 2022
094d1e9
Detected issue and POC fix inplace
ricardopinto Mar 29, 2022
0f6688a
Merge branch 'candidate' of github.com:stuckDaemon/MadNet into candidate
stuckDaemon Apr 19, 2022
0119f4f
Small typo
stuckDaemon Apr 20, 2022
c2ec60e
Removed deposit, ethdkgempty, staking and validators test.
stuckDaemon Apr 27, 2022
f3c7781
Merge remote-tracking branch 'upstream/candidate' into candidate
stuckDaemon Apr 27, 2022
cda3be6
Merge branch 'candidate' into feature/blockchain-package-tests
stuckDaemon Apr 27, 2022
5ae5270
Including blockchain package in CI workflow
stuckDaemon Apr 27, 2022
c5b9c2f
Merging the latest candidate branch
stuckDaemon Apr 27, 2022
dc60dfb
New root path resolver
stuckDaemon Apr 28, 2022
4e37ebd
Merge branch 'candidate' into blockchain-package-tests
stuckDaemon May 2, 2022
c26f0ab
Testing CI only for blockchain test
stuckDaemon May 2, 2022
722b102
Alice Net caching generating all necessary files
stuckDaemon May 2, 2022
bece62b
Removed npm build from alicnet and added to node-cache
stuckDaemon May 2, 2022
7b5ef21
Run validators file creation in test
stuckDaemon May 3, 2022
d278769
Increased CI timeout for blockchain test
stuckDaemon May 3, 2022
122a41c
Intalling missing eth dependencies in ubuntu
stuckDaemon May 3, 2022
946e6cf
Intalling missing eth dependencies in ubuntu
stuckDaemon May 3, 2022
704eb1d
Continue CI integration
stuckDaemon May 4, 2022
ede012f
Continue CI integration
stuckDaemon May 4, 2022
896305d
Continue CI integration
stuckDaemon May 4, 2022
97a75e7
Exclude doubting tests
stuckDaemon May 4, 2022
bba1bfb
Exclude doubting tests
stuckDaemon May 4, 2022
92a9b0b
Exclude doubting tests
stuckDaemon May 4, 2022
9fddd15
Exclude doubting tests
stuckDaemon May 4, 2022
6ad871b
Exclude doubting tests
stuckDaemon May 4, 2022
988cf4c
Exclude doubting tests
stuckDaemon May 4, 2022
5c2b527
Exclude doubting tests
stuckDaemon May 4, 2022
52ab397
Exclude doubting tests
stuckDaemon May 4, 2022
464d900
Exclude doubting tests
stuckDaemon May 4, 2022
829db85
Exclude doubting tests
stuckDaemon May 4, 2022
0f9f875
Exclude doubting tests
stuckDaemon May 4, 2022
0067ecb
Exclude doubting tests
stuckDaemon May 5, 2022
f3259c3
Exclude doubting tests
stuckDaemon May 5, 2022
9f94db8
Exclude doubting tests
stuckDaemon May 5, 2022
47c8007
Continue CI integration
stuckDaemon May 5, 2022
8327197
running tests
stuckDaemon May 11, 2022
cc5c4fd
Continue CI integration
stuckDaemon May 11, 2022
0408964
Merge remote-tracking branch 'origin/blockchain-package-tests' into b…
stuckDaemon May 11, 2022
48fa978
Continue CI integration
stuckDaemon May 11, 2022
acf4d51
Continue CI integration
stuckDaemon May 11, 2022
dff7681
Continue CI integration
stuckDaemon May 11, 2022
d5669e3
Continue CI integration
stuckDaemon May 11, 2022
8439f32
Continue CI integration
stuckDaemon May 11, 2022
50a0cea
Continue CI integration
stuckDaemon May 11, 2022
071757f
Continue CI integration
stuckDaemon May 11, 2022
6439cb4
Continue CI integration
stuckDaemon May 11, 2022
a905d68
Continue CI integration
stuckDaemon May 11, 2022
8891c2b
Continue CI integration
stuckDaemon May 11, 2022
ccb93ed
Continue CI integration
stuckDaemon May 12, 2022
168611b
Continue CI integration
stuckDaemon May 12, 2022
bf4106f
Continue CI integration
stuckDaemon May 12, 2022
469a396
Continue CI integration
stuckDaemon May 12, 2022
019e901
Continue CI integration
stuckDaemon May 12, 2022
33f8423
Merge remote-tracking branch 'upstream/candidate' into blockchain-pac…
stuckDaemon May 12, 2022
8fd1d26
Merge remote-tracking branch 'upstream/candidate' into blockchain-pac…
stuckDaemon May 13, 2022
2b4494a
Continue CI integration
stuckDaemon May 13, 2022
34cfe4e
Continue CI integration
stuckDaemon May 13, 2022
a9d68ae
Continue CI integration
stuckDaemon May 13, 2022
b5c8f2f
Continue CI integration
stuckDaemon May 13, 2022
af85017
Continue CI integration
stuckDaemon May 13, 2022
c142dea
Continue CI integration
stuckDaemon May 13, 2022
f3bf0ae
Continue CI integration
stuckDaemon May 13, 2022
917ea7f
Continue CI integration
stuckDaemon May 13, 2022
021408b
Continue CI integration
stuckDaemon May 13, 2022
0de7055
Continue CI integration
stuckDaemon May 13, 2022
dfed460
Continue CI integration
stuckDaemon May 16, 2022
1a8e379
Continue CI integration
stuckDaemon May 16, 2022
5f7d7ee
TestDisputeMissingKeySharesTask
stuckDaemon May 16, 2022
2f5b6d2
TestDisputeMissingRegistrationTask
stuckDaemon May 16, 2022
d6b1be7
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
b476c30
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
1292596
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
d2be410
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
18173c8
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
eba77a5
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
115eda6
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
7d7ce9c
TestDisputeMissingShareDistributionTask
stuckDaemon May 16, 2022
db61201
Fixing more tests
stuckDaemon May 16, 2022
9d1d233
continue CI
stuckDaemon May 17, 2022
72c48fc
continue CI
stuckDaemon May 17, 2022
568ab86
continue CI
stuckDaemon May 17, 2022
eb6b7d9
fixing tests completed
stuckDaemon May 17, 2022
4af46fc
parsing function names
stuckDaemon May 17, 2022
9102859
parsing function names
stuckDaemon May 17, 2022
e826cd1
parsing function names
stuckDaemon May 17, 2022
3df0af4
parsing function names
stuckDaemon May 17, 2022
122a006
parsing function names
stuckDaemon May 17, 2022
bcbf796
Merge branch 'candidate' into blockchain-package-tests
vtleonardo May 17, 2022
64c057b
Addressing PR feedback
stuckDaemon May 18, 2022
d1e589b
Merge remote-tracking branch 'origin/blockchain-package-tests' into b…
stuckDaemon May 18, 2022
7c69c33
Adding geth-eth cache
stuckDaemon May 18, 2022
1d7e4e5
Merge branch 'candidate' into blockchain-package-tests
vtleonardo May 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/actions/alicenet-cache/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ runs:
- if: steps.alicenet-cache.outputs.cache-hit != 'true'
shell: bash
run: make generate-go

1 change: 1 addition & 0 deletions .github/actions/alicenet-config/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ runs:
with:
execution-folder: "./bridge"
- uses: ./.github/actions/alicenet-cache
- uses: ./.github/actions/geth-eth-cache
35 changes: 35 additions & 0 deletions .github/actions/geth-eth-cache/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: 'Setup geth, ethkey and its cache'
description: 'Setup geth, ethkey and its cache'
runs:
using: "composite"
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.18
- uses: actions/cache@v3
id: geth-eth-cache
with:
path: |
/usr/local/bin/geth
/usr/local/bin/ethkey
key: ${{ runner.os }}-geth-ethkey
- name: Check out ethereum repo for ethkey
if: steps.geth-eth-cache.outputs.cache-hit != 'true'
uses: actions/checkout@master
with:
repository: ethereum/go-ethereum
path: './go-ethereum'
- name: Install geth and ethkey
if: steps.geth-eth-cache.outputs.cache-hit != 'true'
shell: bash
run: |
REPO_PATH=$(pwd)
cd go-ethereum
sudo apt install make gcc
make all
cd /usr/local/bin
mv $REPO_PATH/go-ethereum/build/bin/ethkey /usr/local/bin
cd $REPO_PATH
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install -y ethereum
88 changes: 70 additions & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ name: Alicenet CI

on:
push:
branches: [main, candidate]
branches: [ main, candidate ]
paths:
- "blockchain"
pull_request:
branches: [main, candidate]
branches: [ main, candidate ]

env:
NODE_VERSION: 16.x
Expand All @@ -27,14 +29,12 @@ jobs:
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/node-cache

solidity-unit-tests:
runs-on: ubuntu-20.04
timeout-minutes: 15
strategy:
matrix:
# when adding a new test folder to the smart contracts make sure to
# name it starting with 0-9 or A-Z
include:
- test-group: "[0-9a-dA-D]"
- test-group: "[eE]"
Expand All @@ -47,7 +47,6 @@ jobs:
- test-group: "[f-qF-Q]"
- test-group: "[r-sR-S]"
- test-group: "[t-zT-Z]"

needs: solidity-build
defaults:
run:
Expand All @@ -60,7 +59,7 @@ jobs:
test-group: ${{ matrix.test-group }}
sub-filter-include: ${{ matrix.sub-filter-include }}
sub-filter-exclude: ${{ matrix.sub-filter-exclude }}

solidity-linter:
runs-on: ubuntu-20.04
timeout-minutes: 10
Expand All @@ -72,7 +71,7 @@ jobs:
- uses: actions/checkout@v3
- uses: ./.github/actions/node-cache
- run: npm run lint-solidity

typescript-linter:
runs-on: ubuntu-20.04
timeout-minutes: 10
Expand All @@ -86,14 +85,14 @@ jobs:
- uses: ./.github/actions/node-cache
- run: npm run clean && npm run compile && npm run typechain
- run: npm run lint

golang-build:
runs-on: ${{ matrix.os }}
timeout-minutes: 10
needs: solidity-build
strategy:
matrix:
os: [ubuntu-20.04]
os: [ ubuntu-20.04 ]
steps:
- name: "Sanitize branch name"
run: |
Expand All @@ -117,7 +116,7 @@ jobs:
- uses: actions/checkout@v3
- uses: ./.github/actions/alicenet-config
- run: go vet ./...

golang-linter:
runs-on: ubuntu-20.04
timeout-minutes: 10
Expand All @@ -131,23 +130,76 @@ jobs:
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
- name: run golangci-lint
run: golangci-lint run ./...

golang-unit-tests:
runs-on: ${{ matrix.os }}
timeout-minutes: 15
needs: golang-build
strategy:
matrix:
os: [ubuntu-20.04]
os: [ ubuntu-20.04 ]
steps:
# Checkout and tool to format the test output
- uses: actions/checkout@v3
- uses: ./.github/actions/alicenet-config
# tool to format the test output
- name: Set up gotestfmt
run: go install github.com/haveyoudebuggedit/gotestfmt/v2/cmd/gotestfmt@latest
# Run tests with nice formatting. Save the original log in /tmp/gotest.log
# packages where the tests are stuck: ["blockchain", "badgerTrie", "consensus", "transport"]
- name: Run tests
- name: Run unit tests
timeout-minutes: 20
run: |
set -euo pipefail
go test -json -v $(go list ./... | grep -Ev '/blockchain|/badgerTrie|/consensus/dman|/testutils') 2>&1 | tee /tmp/gotest.log | gotestfmt

golang-blockchain-tests:
runs-on: ${{ matrix.os }}
needs: golang-build
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
os: [ ubuntu-20.04 ]
test-cmd: [
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestShareDistribution_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestShareDistribution_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestShareDistribution_Group_3,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestRegisterTask_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestRegisterTask_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestRegisterTask_Group_3,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestMPKSubmission_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestMPKSubmission_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestKeyShareSubmission,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestGPKjSubmission_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestGPKjSubmission_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeShareDistributionTask_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeShareDistributionTask_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeMissingShareDistributionTask_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeMissingShareDistributionTask_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeMissingRegistrationTask_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeMissingRegistrationTask_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeMissingKeySharesTask,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeMissingGPKjTask_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestDisputeMissingGPKjTask_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestGPKjDispute,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestCompletion_Group_1,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestCompletion_Group_2,
github.com/MadBase/MadNet/blockchain/dkg/dkgtasks -run TestCompletion_Group_3,
github.com/MadBase/MadNet/blockchain,
github.com/MadBase/MadNet/blockchain/dkg,
github.com/MadBase/MadNet/blockchain/dkg/math,
github.com/MadBase/MadNet/blockchain/monitor,
github.com/MadBase/MadNet/blockchain/objects,
github.com/MadBase/MadNet/blockchain/tasks
]
steps:
# Checkout and tool to format the test output
- uses: actions/checkout@v3
- uses: ./.github/actions/alicenet-config
- name: Set up gotestfmt
run: go install github.com/haveyoudebuggedit/gotestfmt/v2/cmd/gotestfmt@latest

# Run matrix blockchain unit tests
- name: Run tests ${{ matrix.test-cmd }}
timeout-minutes: 45
run: |
set -euo pipefail
./scripts/main.sh init 5
go test -v -timeout=45m ${{ matrix.test-cmd }}
48 changes: 45 additions & 3 deletions blockchain/cancellation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (

const SLEEP_DURATION = 500 * time.Millisecond

func TestSleepWithContextComplete(t *testing.T) {
func TestCancellation_SleepWithContextComplete(t *testing.T) {
ctx, _ := context.WithCancel(context.Background())

completed := false
Expand All @@ -32,7 +32,7 @@ func TestSleepWithContextComplete(t *testing.T) {
assert.True(t, completed)
}

func TestSleepWithContextInterupted(t *testing.T) {
func TestCancellation_SleepWithContextInterrupted(t *testing.T) {
ctx, cancel := context.WithCancel(context.Background())

completed := false
Expand All @@ -48,10 +48,52 @@ func TestSleepWithContextInterupted(t *testing.T) {
}
wg.Done()
}()

cancel()

wg.Wait()

assert.False(t, completed)
}

func TestCancellation_SlowReturn(t *testing.T) {
ctx, _ := context.WithCancel(context.Background())

type args struct {
ctx context.Context
delay time.Duration
value bool
}
tests := []struct {
name string
args args
want bool
}{
{
name: "Test slow Return success",
args: args{
ctx: ctx,
delay: 5000 * time.Millisecond,
value: true,
},
want: true,
},
{
name: "Test slow Return quicker delay",
args: args{
ctx: ctx,
delay: 500 * time.Millisecond,
value: false,
},
want: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
start := time.Now()
slowReturn, _ := blockchain.SlowReturn(tt.args.ctx, tt.args.delay, tt.args.value)
assert.Equalf(t, tt.want, slowReturn, "SlowReturn(%v, %v, %v)", tt.args.ctx, tt.args.delay, tt.args.value)
elapsed := time.Since(start)
assert.GreaterOrEqual(t, elapsed, tt.args.delay, "Delay time has not been respected")
})
}
}
84 changes: 0 additions & 84 deletions blockchain/deposit_test.go

This file was deleted.

Loading