Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 4 additions & 0 deletions .github/workflows/test-gpu-rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,7 @@ jobs:
echo "Running OSS Rust tests..."
# TODO: fix broken tests, then update to `cargo test --no-fail-fast`
cargo test -p monarch_rdma
# Uses cargo nextest to run tests in separate processes, which better matches
# internal buck test behavior.
# TODO: increase coverage to more crates.
cargo nextest run -p hyperactor --no-fail-fast
4 changes: 4 additions & 0 deletions hyperactor/src/channel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,8 @@ mod tests {
}

#[tokio::test]
// TODO: OSS: called `Result::unwrap()` on an `Err` value: Server(Listen(Tcp([::1]:0), Os { code: 99, kind: AddrNotAvailable, message: "Cannot assign requested address" }))
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_dial_serve() {
for addr in addrs() {
let (listen_addr, mut rx) = crate::channel::serve::<i32>(addr).unwrap();
Expand All @@ -929,6 +931,8 @@ mod tests {
}

#[tokio::test]
// TODO: OSS: called `Result::unwrap()` on an `Err` value: Server(Listen(Tcp([::1]:0), Os { code: 99, kind: AddrNotAvailable, message: "Cannot assign requested address" }))
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_send() {
let config = crate::config::global::lock();

Expand Down
18 changes: 18 additions & 0 deletions hyperactor/src/channel/net.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2559,6 +2559,8 @@ mod tests {

#[tracing_test::traced_test]
#[async_timed_test(timeout_secs = 30)]
// TODO: OSS: called `Result::unwrap()` on an `Err` value: Listen(Tcp([::1]:0), Os { code: 99, kind: AddrNotAvailable, message: "Cannot assign requested address" })
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_tcp_basic() {
let (addr, mut rx) = tcp::serve::<u64>("[::1]:0".parse().unwrap()).unwrap();
{
Expand All @@ -2581,6 +2583,8 @@ mod tests {

// The message size is limited by CODEC_MAX_FRAME_LENGTH.
#[async_timed_test(timeout_secs = 5)]
// TODO: OSS: called `Result::unwrap()` on an `Err` value: Listen(Tcp([::1]:0), Os { code: 99, kind: AddrNotAvailable, message: "Cannot assign requested address" })
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_tcp_message_size() {
let default_size_in_bytes = 100 * 1024 * 1024;
// Use temporary config for this test
Expand Down Expand Up @@ -2610,6 +2614,8 @@ mod tests {
}

#[async_timed_test(timeout_secs = 30)]
// TODO: OSS: called `Result::unwrap()` on an `Err` value: Listen(Tcp([::1]:0), Os { code: 99, kind: AddrNotAvailable, message: "Cannot assign requested address" })
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_ack_flush() {
let config = config::global::lock();
// Set a large value to effectively prevent acks from being sent except
Expand All @@ -2632,6 +2638,8 @@ mod tests {

#[tracing_test::traced_test]
#[tokio::test]
// TODO: OSS: failed to retrieve ipv6 address
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_meta_tls_basic() {
let addr = ChannelAddr::any(ChannelTransport::MetaTls(TlsMode::IpV6));
let meta_addr = match addr {
Expand Down Expand Up @@ -3235,6 +3243,8 @@ mod tests {

#[tracing_test::traced_test]
#[tokio::test]
// TODO: OSS: The logs_assert function returned an error: expected log not found
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_tcp_tx_delivery_timeout() {
// This link always fails to connect.
let link = MockLink::<u64>::fail_connects();
Expand Down Expand Up @@ -3659,12 +3669,16 @@ mod tests {

#[tracing_test::traced_test]
#[async_timed_test(timeout_secs = 30)]
// TODO: OSS: The logs_assert function returned an error: expected log not found
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_ack_exceeded_limit_with_connected_link() {
verify_ack_exceeded_limit(false).await;
}

#[tracing_test::traced_test]
#[async_timed_test(timeout_secs = 30)]
// TODO: OSS: The logs_assert function returned an error: expected log not found
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_ack_exceeded_limit_with_broken_link() {
verify_ack_exceeded_limit(true).await;
}
Expand Down Expand Up @@ -3834,6 +3848,8 @@ mod tests {
}

#[async_timed_test(timeout_secs = 300)]
// TODO: OSS: called `Result::unwrap()` on an `Err` value: Listen(Tcp([::1]:0), Os { code: 99, kind: AddrNotAvailable, message: "Cannot assign requested address" })
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_tcp_throughput() {
let config = config::global::lock();
let _guard =
Expand Down Expand Up @@ -3884,6 +3900,8 @@ mod tests {

#[tracing_test::traced_test]
#[async_timed_test(timeout_secs = 60)]
// TODO: OSS: The logs_assert function returned an error: expected log not found
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_net_tx_closed_on_server_reject() {
let link = MockLink::<u64>::new();
let receiver_storage = link.receiver_storage();
Expand Down
2 changes: 2 additions & 0 deletions hyperactor/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -369,6 +369,8 @@ mod tests {

#[tracing_test::traced_test]
#[test]
// TODO: OSS: The logs_assert function returned an error: missing log lines: {"# export HYPERACTOR_DEFAULT_ENCODING=serde_multipart", ...}
#[cfg_attr(not(feature = "fb"), ignore)]
fn test_from_env() {
// Set environment variables
// SAFETY: TODO: Audit that the environment access only happens in single-threaded code.
Expand Down
2 changes: 2 additions & 0 deletions hyperactor/src/host.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1158,6 +1158,8 @@ mod tests {
}

#[tokio::test]
// TODO: OSS: called `Result::unwrap()` on an `Err` value: ReadFailed { manifest_path: "/meta-pytorch/monarch/target/debug/deps/hyperactor-0e1fe83af739d976.resources.json", source: Os { code: 2, kind: NotFound, message: "No such file or directory" } }
#[cfg_attr(not(feature = "fb"), ignore)]
async fn test_process_proc_manager() {
hyperactor_telemetry::initialize_logging(crate::clock::ClockKind::default());

Expand Down
4 changes: 4 additions & 0 deletions scripts/common-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ setup_rust_toolchain() {
source "${HOME}"/.cargo/env
rustup toolchain install nightly
rustup default nightly
# We use cargo nextest to run tests in individual processes for similarity
# to buck test.
# Replace "cargo test" commands with "cargo nextest run".
cargo install cargo-nextest --locked
}

install_build_dependencies() {
Expand Down
Loading