GitHub Actions / Test Results (Integration tests)
failed
May 31, 2023 in 0s
2 fail, 27 pass in 26m 14s
Annotations
github-actions / Test Results (Integration tests)
1 out of 2 runs failed: Scenario: A message is sent directly between two FFI clients: tests/features/ChatFFI.feature:14:3
artifacts/junit-ffi-cucumber/cucumber-output-junit.xml [took 31s]
Raw output
Step panicked. Captured output: Contact 19552fcce111dc41f63a8c56f0 never came online, status is: NeverSeen
Scenario: A message is sent directly between two FFI clients
✔ Given I have a seed node SEED_A
✔ When I have a chat FFI client CHAT_A connected to seed node SEED_A
✔ When I have a chat FFI client CHAT_B connected to seed node SEED_A
✔ When CHAT_A adds CHAT_B as a contact
✔ When CHAT_B adds CHAT_A as a contact
✘ When CHAT_A waits for contact CHAT_B to be online
Step failed:
Defined: tests/features/ChatFFI.feature:20:5
Matched: integration_tests/tests/steps/chat_steps.rs:93:1
Step panicked. Captured output: Contact 19552fcce111dc41f63a8c56f0 never came online, status is: NeverSeen
Client {
base_nodes: {
"SEED_A": BaseNodeProcess {
name: "SEED_A",
port: 18399,
grpc_port: 18827,
identity: NodeIdentity {
public_key: 10ffb9346793bdb2f4e42d2e02e57563c34ba77b277cfe3a6762d20bedbba816,
node_id: NodeId(fe47dc0b3995b1bac78a431954),
public_address: RwLock {
data: [
"/ip4/127.0.0.1/tcp/18399",
],
poisoned: false,
..
},
features: MESSAGE_PROPAGATION | DHT_STORE_FORWARD | COMMUNICATION_NODE,
secret_key: "<secret>",
identity_signature: Some(
IdentitySignature {
version: 0,
signature: SchnorrSignature {
public_nonce: 262048b4f546390a2b34c1723b79f37fe3d49b84367dade19e3926c047b4c06c,
signature: RistrettoSecretKey(***),
_phantom: PhantomData<tari_crypto::signatures::schnorr::SchnorrSigChallenge>,
},
updated_at: 2023-05-31T07:09:14.070553181Z,
},
),
},
temp_dir_path: "/runner/_work/tari/tari/integration_tests/tests/temp/cucumber_20579/base_nodes/grpc_port_18827/SEED_A",
is_seed_node: true,
},
},
blocks: {},
miners: {},
ffi_wallets: {},
wallets: {},
merge_mining_proxies: {},
transactions: {},
wallet_addresses: {},
utxos: {},
output_hash: None,
pre_image: None,
wallet_connected_to_base_node: {},
seed_nodes: [
"SEED_A",
],
wallet_tx_ids: {},
errors: [],
last_imported_tx_ids: [],
last_merge_miner_response: Null,
}
github-actions / Test Results (Integration tests)
1 out of 2 runs failed: Scenario: As a client I want to send a one-sided transaction: tests/features/WalletFFI.feature:175:5
artifacts/junit-ffi-cucumber/cucumber-output-junit.xml [took 9m 3s]
Raw output
Step panicked. Captured output: Wallet RECEIVER failed to have at least num 1 txs with status 9, current status is 0
Scenario: As a client I want to send a one-sided transaction
✔ Given I have a seed node SEED
✔ When I have a base node BASE1 connected to all seed nodes
✔ When I have wallet SENDER connected to base node BASE1
✔ And I have a ffi wallet FFI_WALLET connected to base node SEED
✔ When I have wallet RECEIVER connected to base node BASE1
✔ When I add contact with alias ALIAS1 and address of SENDER to ffi wallet FFI_WALLET
✔ When I add contact with alias ALIAS2 and address of RECEIVER to ffi wallet FFI_WALLET
✔ When I have mining node MINER connected to base node BASE1 and wallet SENDER
✔ When mining node MINER mines 10 blocks
✔ Then all nodes are at height 10
✔ Then I wait for wallet SENDER to have at least 129239250000 uT
✔ And I send 2400000 uT from wallet SENDER to wallet FFI_WALLET at fee 5
✔ And I send 2400000 uT from wallet SENDER to wallet FFI_WALLET at fee 5
✔ Then wallet SENDER has at least 2 transactions that are all TRANSACTION_STATUS_BROADCAST and not cancelled
✔ Then ffi wallet FFI_WALLET detects AT_LEAST 2 ffi transactions to be TRANSACTION_STATUS_BROADCAST
✔ When mining node MINER mines 10 blocks
✔ Then all nodes are at height 20
✔ Then ffi wallet FFI_WALLET detects AT_LEAST 2 ffi transactions to be TRANSACTION_STATUS_MINED
✔ Then I wait for ffi wallet FFI_WALLET to have at least 4000000 uT
✔ And I send 1000000 uT from ffi wallet FFI_WALLET to wallet RECEIVER at fee 5 via one-sided transactions
✔ Then ffi wallet FFI_WALLET detects AT_LEAST 3 ffi transactions to be TRANSACTION_STATUS_BROADCAST
✔ When mining node MINER mines 2 blocks
✔ Then all nodes are at height 22
✘ Then wallet RECEIVER has at least 1 transactions that are all TRANSACTION_STATUS_FAUX_UNCONFIRMED and not cancelled
Step failed:
Defined: tests/features/WalletFFI.feature:205:9
Matched: integration_tests/tests/steps/wallet_steps.rs:495:1
Step panicked. Captured output: Wallet RECEIVER failed to have at least num 1 txs with status 9, current status is 0
Client {
base_nodes: {
"SEED": BaseNodeProcess {
name: "SEED",
port: 18029,
grpc_port: 18501,
identity: NodeIdentity {
public_key: 905987928b3b2fd8c16c0093e6bf1bc7b09c02be24a12159e9234de59219a340,
node_id: NodeId(4b30065bd5e56c268f77b00b5e),
public_address: RwLock {
data: [
"/ip4/127.0.0.1/tcp/18029",
],
poisoned: false,
..
},
features: MESSAGE_PROPAGATION | DHT_STORE_FORWARD | COMMUNICATION_NODE,
secret_key: "<secret>",
identity_signature: Some(
IdentitySignature {
version: 0,
signature: SchnorrSignature {
public_nonce: 04ff2c893efd502488a5411d54761964eb6be4df771bbdc791ea2de282b71b4f,
signature: RistrettoSecretKey(***),
_phantom: PhantomData<tari_crypto::signatures::schnorr::SchnorrSigChallenge>,
},
updated_at: 2023-05-31T07:11:50.556224531Z,
},
),
},
temp_dir_path: "/runner/_work/tari/tari/integration_tests/tests/temp/cucumber_20579/base_nodes/grpc_port_18501/SEED",
is_seed_node: true,
},
"BASE1": BaseNodeProcess {
name: "BASE1",
port: 18473,
grpc_port: 18893,
identity: NodeIdentity {
public_key: 4ad05b58df924162bb4ac41a8d9f7d2fb1da4e7dc799938ba61f70b9156f5c49,
node_id: NodeId(9036e789bb6e0da1d444aaf78c),
public_address: RwLock {
data: [
"/ip4/127.0.0.1/tcp/18473",
],
poisoned: false,
..
},
features: MESSAGE_PROPAGATION | DHT_STORE_FORWARD | COMMUNICATION_NODE,
secret_key: "<secret>",
identity_signature: Some(
IdentitySignature {
version: 0,
signature: SchnorrSignature {
public_nonce: 40154f47baaff67a9fd30b525977b28dd3d26488d2b8b4c09abf725014abef74,
signature: RistrettoSecretKey(***),
_phantom: PhantomData<tari_crypto::signatures::schnorr::SchnorrSigChallenge>,
},
updated_at: 2023-05-31T07:11:51.309670647Z,
},
),
},
temp_dir_path: "/runner/_work/tari/tari/integration_tests/tests/temp/cucumber_20579/base_nodes/grpc_port_18893/BASE1",
is_seed_node: false,
},
},
blocks: {},
miners: {
"MINER": MinerProcess {
name: "MINER",
base_node_name: "BASE1",
wallet_name: "SENDER",
mine_until_height: 100000,
},
},
ffi_wallets: {
"FFI_WALLET": WalletFFI {
name: "FFI_WALLET",
port: 18108,
wallet: Mutex {
data: Wallet {
ptr: 0x000055f3add65510,
liveness_data: Mutex {
data: {
"f846a1a046024c0d2a5311abeabf606c2cc2c820ca53cce48df6d84bc00b145c41": ContactsLivenessData {
ptr: 0x00007f4e30026090,
},
},
poisoned: false,
..
},
balance: CachedBalance {
available: 2400000,
time_locked: 0,
pending_incoming: 1399340,
pending_outgoing: 2400000,
},
},
poisoned: false,
..
},
},
},
wallets: {
"SENDER": WalletProcess {
config: WalletConfig {
override_from: None,
p2p: P2pConfig {
override_from: None,
public_addresses: MultiaddrList(
[],
),
transport: TransportConfig {
transport_type: Tor,
tcp: TcpTransportConfig {
listener_address: "/ip4/0.0.0.0/tcp/18189",
tor_socks_address: None,
tor_socks_auth: SocksAuthentication::None,
},
tor: TorTransportConfig {
control_address: "/ip4/127.0.0.1/tcp/9051",
socks_auth: SocksAuthentication::None,
socks_address_override: None,
control_auth: Auto,
onion_port: 18141,
proxy_bypass_addresses: [],
proxy_bypass_for_outbound_tcp: false,
forward_address: None,
listener_address_override: None,
identity: None,
},
socks: Socks5TransportConfig {
proxy_address: "/ip4/127.0.0.1/tcp/8080",
auth: SocksAuthentication::None,
},
memory: MemoryTransportConfig {
listener_address: "/memory/0",
},
},
datastore_path: "peer_db/wallet",
peer_database_name: "peers",
max_concurrent_inbound_tasks: 4,
max_concurrent_outbound_tasks: 4,
dht: DhtConfig {
protocol_version: V2,
database_url: File(
"dht.sqlite",
),
outbound_buffer_size: 20,
num_neighbouring_nodes: 8,
num_random_nodes: 4,
broadcast_factor: 8,
propagation_factor: 4,
saf: SafConfig {
msg_validity: 10800s,
msg_storage_capacity: 100000,
num_closest_nodes: 10,
max_returned_messages: 50,
low_priority_msg_storage_ttl: 21600s,
high_priority_msg_storage_ttl: 259200s,
max_message_size: 524288,
auto_request: true,
max_inflight_request_age: 120s,
num_neighbouring_nodes: 8,
},
dedup_cache_capacity: 2500,
dedup_cache_trim_interval: 300s,
dedup_allowed_message_occurrences: 1,
discovery_request_timeout: 120s,
auto_join: false,
join_cooldown_interval: 600s,
connectivity: DhtConnectivityConfig {
update_interval: 120s,
random_pool_refresh_interval: 7200s,
high_failure_rate_cooldown: 45s,
minimum_desired_tcpv4_node_ratio: 0.1,
},
network_discovery: NetworkDiscoveryConfig {
enabled: true,
min_desired_peers: 50,
idle_period: 1800s,
idle_after_num_rounds: 10,
on_failure_idle_period: 5s,
max_sync_peers: 5,
},
ban_duration: 21600s,
ban_duration_short: 3600s,
allow_test_addresses: false,
flood_ban_max_msg_count: 100000,
flood_ban_timespan: 100s,
offline_peer_cooldown: 86400s,
},
allow_test_addresses: false,
listener_liveness_max_sessions: 0,
listener_liveness_check_interval: None,
listener_liveness_allowlist_cidrs: StringList(
[],
),
user_agent: "",
auxiliary_tcp_listener_address: None,
rpc_max_simultaneous_sessions: 100,
rpc_max_sessions_per_peer: 10,
},
transaction_service_config: TransactionServiceConfig {
broadcast_monitoring_timeout: 30s,
chain_monitoring_timeout: 60s,
direct_send_timeout: 20s,
broadcast_send_timeout: 60s,
low_power_polling_timeout: 300s,
transaction_resend_period: 600s,
resend_response_cooldown: 300s,
pending_transaction_cancellation_timeout: 259200s,
num_confirmations_required: 3,
max_tx_query_batch_size: 20,
transaction_routing_mechanism: DirectAndStoreAndForward,
transaction_event_channel_size: 1000,
transaction_mempool_resubmission_window: 600s,
},
output_manager_service_config: OutputManagerServiceConfig {
prevent_fee_gt_amount: true,
event_channel_size: 250,
num_confirmations_required: 3,
tx_validator_batch_size: 100,
autoignore_onesided_utxos: false,
num_of_seconds_to_revalidate_invalid_utxos: 259200,
},
buffer_size: 50000,
buffer_rate_limit: 1000,
network: Esmeralda,
base_node_service_config: BaseNodeServiceConfig {
base_node_monitor_max_refresh_interval: 90s,
base_node_rpc_pool_size: 10,
event_channel_size: 250,
},
data_dir: "data/wallet",
db_file: "db/console_wallet.db",
db_connection_pool_size: 16,
password: None,
contacts_auto_ping_interval: 30s,
contacts_online_ping_window: 30,
command_send_wait_timeout: 300s,
command_send_wait_stage: Broadcast,
notify_file: None,
grpc_enabled: false,
grpc_address: None,
grpc_authentication: None,
custom_base_node: None,
base_node_service_peers: StringList(
[],
),
recovery_retry_limit: 3,
fee_per_gram: 5,
num_required_confirmations: 3,
use_libtor: false,
identity_file: None,
},
grpc_port: 18674,
kill_signal: Shutdown(
OneshotTrigger {
sender: Mutex {
data: Some(
Sender {
complete: false,
},
),
poisoned: false,
..
},
signal: OneshotSignal {
inner: Shared {
inner: Some(
Inner,
),
waker_key: 18446744073709551615,
},
},
},
),
name: "SENDER",
port: 18256,
temp_dir_path: "/runner/_work/tari/tari/integration_tests/tests/temp/cucumber_20579/wallets/grpc_port_18674/SENDER",
},
"RECEIVER": WalletProcess {
config: WalletConfig {
override_from: None,
p2p: P2pConfig {
override_from: None,
public_addresses: MultiaddrList(
[],
),
transport: TransportConfig {
transport_type: Tor,
tcp: TcpTransportConfig {
listener_address: "/ip4/0.0.0.0/tcp/18189",
tor_socks_address: None,
tor_socks_auth: SocksAuthentication::None,
},
tor: TorTransportConfig {
control_address: "/ip4/127.0.0.1/tcp/9051",
socks_auth: SocksAuthentication::None,
socks_address_override: None,
control_auth: Auto,
onion_port: 18141,
proxy_bypass_addresses: [],
proxy_bypass_for_outbound_tcp: false,
forward_address: None,
listener_address_override: None,
identity: None,
},
socks: Socks5TransportConfig {
proxy_address: "/ip4/127.0.0.1/tcp/8080",
auth: SocksAuthentication::None,
},
memory: MemoryTransportConfig {
listener_address: "/memory/0",
},
},
datastore_path: "peer_db/wallet",
peer_database_name: "peers",
max_concurrent_inbound_tasks: 4,
max_concurrent_outbound_tasks: 4,
dht: DhtConfig {
protocol_version: V2,
database_url: File(
"dht.sqlite",
),
outbound_buffer_size: 20,
num_neighbouring_nodes: 8,
num_random_nodes: 4,
broadcast_factor: 8,
propagation_factor: 4,
saf: SafConfig {
msg_validity: 10800s,
msg_storage_capacity: 100000,
num_closest_nodes: 10,
max_returned_messages: 50,
low_priority_msg_storage_ttl: 21600s,
high_priority_msg_storage_ttl: 259200s,
max_message_size: 524288,
auto_request: true,
max_inflight_request_age: 120s,
num_neighbouring_nodes: 8,
},
dedup_cache_capacity: 2500,
dedup_cache_trim_interval: 300s,
dedup_allowed_message_occurrences: 1,
discovery_request_timeout: 120s,
auto_join: false,
join_cooldown_interval: 600s,
connectivity: DhtConnectivityConfig {
update_interval: 120s,
random_pool_refresh_interval: 7200s,
high_failure_rate_cooldown: 45s,
minimum_desired_tcpv4_node_ratio: 0.1,
},
network_discovery: NetworkDiscoveryConfig {
enabled: true,
min_desired_peers: 50,
idle_period: 1800s,
idle_after_num_rounds: 10,
on_failure_idle_period: 5s,
max_sync_peers: 5,
},
ban_duration: 21600s,
ban_duration_short: 3600s,
allow_test_addresses: false,
flood_ban_max_msg_count: 100000,
flood_ban_timespan: 100s,
offline_peer_cooldown: 86400s,
},
allow_test_addresses: false,
listener_liveness_max_sessions: 0,
listener_liveness_check_interval: None,
listener_liveness_allowlist_cidrs: StringList(
[],
),
user_agent: "",
auxiliary_tcp_listener_address: None,
rpc_max_simultaneous_sessions: 100,
rpc_max_sessions_per_peer: 10,
},
transaction_service_config: TransactionServiceConfig {
broadcast_monitoring_timeout: 30s,
chain_monitoring_timeout: 60s,
direct_send_timeout: 20s,
broadcast_send_timeout: 60s,
low_power_polling_timeout: 300s,
transaction_resend_period: 600s,
resend_response_cooldown: 300s,
pending_transaction_cancellation_timeout: 259200s,
num_confirmations_required: 3,
max_tx_query_batch_size: 20,
transaction_routing_mechanism: DirectAndStoreAndForward,
transaction_event_channel_size: 1000,
transaction_mempool_resubmission_window: 600s,
},
output_manager_service_config: OutputManagerServiceConfig {
prevent_fee_gt_amount: true,
event_channel_size: 250,
num_confirmations_required: 3,
tx_validator_batch_size: 100,
autoignore_onesided_utxos: false,
num_of_seconds_to_revalidate_invalid_utxos: 259200,
},
buffer_size: 50000,
buffer_rate_limit: 1000,
network: Esmeralda,
base_node_service_config: BaseNodeServiceConfig {
base_node_monitor_max_refresh_interval: 90s,
base_node_rpc_pool_size: 10,
event_channel_size: 250,
},
data_dir: "data/wallet",
db_file: "db/console_wallet.db",
db_connection_pool_size: 16,
password: None,
contacts_auto_ping_interval: 30s,
contacts_online_ping_window: 30,
command_send_wait_timeout: 300s,
command_send_wait_stage: Broadcast,
notify_file: None,
grpc_enabled: false,
grpc_address: None,
grpc_authentication: None,
custom_base_node: None,
base_node_service_peers: StringList(
[],
),
recovery_retry_limit: 3,
fee_per_gram: 5,
num_required_confirmations: 3,
use_libtor: false,
identity_file: None,
},
grpc_port: 18591,
kill_signal: Shutdown(
OneshotTrigger {
sender: Mutex {
data: Some(
Sender {
complete: false,
},
),
poisoned: false,
..
},
signal: OneshotSignal {
inner: Shared {
inner: Some(
Inner,
),
waker_key: 18446744073709551615,
},
},
},
),
name: "RECEIVER",
port: 18089,
temp_dir_path: "/runner/_work/tari/tari/integration_tests/tests/temp/cucumber_20579/wallets/grpc_port_18591/RECEIVER",
},
},
merge_mining_proxies: {},
transactions: {},
wallet_addresses: {},
utxos: {},
output_hash: None,
pre_image: None,
wallet_connected_to_base_node: {
"SENDER": "BASE1",
"RECEIVER": "BASE1",
},
seed_nodes: [
"SEED",
],
wallet_tx_ids: {
"f846a1a046024c0d2a5311abeabf606c2cc2c820ca53cce48df6d84bc00b145c41": [
4635168017426136508,
16334844276436311420,
],
"98a77b17d94d7f8b5487724bd23c5e406991fbcf9e2c804ce56c9b16f3e578309a": [
4635168017426136508,
16334844276436311420,
],
},
errors: [],
last_imported_tx_ids: [],
last_merge_miner_response: Null,
}
Check notice on line 0 in .github
github-actions / Test Results (Integration tests)
29 tests found
There are 29 tests, see "Raw output" for the full list of tests.
Raw output
Scenario: A message is propagated between clients via 3rd party: tests/features/ChatFFI.feature:7:3
Scenario: A message is sent directly between two FFI clients: tests/features/ChatFFI.feature:14:3
Scenario: As a client I want to receive a one-sided transaction: tests/features/WalletFFI.feature:212:5
Scenario: As a client I want to receive contact liveness events: tests/features/WalletFFI.feature:73:5
Scenario: As a client I want to retrieve a list of transactions I have made and received: tests/features/WalletFFI.feature:96:5
Scenario: As a client I want to retrieve the mnemonic word list for a given language: tests/features/WalletFFI.feature:24:5
Scenario: As a client I want to send a one-sided transaction: tests/features/WalletFFI.feature:175:5
Scenario: As a user I want to burn tari via command line: tests/features/WalletCli.feature:47:5
Scenario: As a wallet I want to submit a transaction: tests/features/WalletQuery.feature:18:3
Scenario: As a wallet send to a wallet connected to a different base node: tests/features/WalletTransfer.feature:9:3
Scenario: Clear out mempool: tests/features/Mempool.feature:46:3
Scenario: Create burn transaction: tests/features/WalletTransactions.feature:410:3
Scenario: Node rolls back reorg on invalid block: tests/features/Reorgs.feature:63:3
Scenario: Pruned mode simple sync: tests/features/Sync.feature:50:3
Scenario: Pruned node should handle burned output: tests/features/Sync.feature:61:3
Scenario: Pruned node should prune outputs: tests/features/Propagation.feature:92:3
Scenario: Simple block sync: tests/features/Sync.feature:26:3
Scenario: Simple propagation: tests/features/Propagation.feature:26:3
Scenario: Simple reorg to stronger chain: tests/features/Reorgs.feature:8:3
Scenario: Simple reorg with burned output: tests/features/Reorgs.feature:33:3
Scenario: Sync burned output: tests/features/Sync.feature:34:3
Scenario: Syncing node while also mining before tip sync: tests/features/Sync.feature:142:5
Scenario: Transactions are propagated through a network: tests/features/Mempool.feature:8:3
Scenario: Verify UTXO and kernel MMR size in header: tests/features/BlockTemplate.feature:8:1
Scenario: Wallet recovery with connected base node staying online: tests/features/WalletRecovery.feature:8:5
Scenario: Wallet sending and receiving one-sided stealth transactions: tests/features/WalletTransactions.feature:38:3
Scenario: Wallet sending and receiving one-sided transactions: tests/features/WalletTransactions.feature:8:3
Scenario: When a new node joins the network, it receives all peers: tests/features/Sync.feature:77:3
Scenario: Zero-conf transactions: tests/features/Mempool.feature:124:3
Loading