mononoke/revset: refactored TestChangesetFetcher repo variable type

Summary: Replaced Arc<BlobRepo> with BlobRepo for TestChangesetFetcher's repo variable (mononoke/revset/src/tests.rs) and refactored variables depending on TestChangesetFetcher

Reviewed By: StanislavGlebik

Differential Revision: D21993963

fbshipit-source-id: f617d693ec85156292e35f201c097bb935524062
This commit is contained in:
Viet Hung Nguyen 2020-06-11 04:24:49 -07:00 committed by Facebook GitHub Bot
parent dce839459c
commit 3de40b0acb
8 changed files with 107 additions and 61 deletions

View File

@ -190,9 +190,10 @@ mod test {
fn linear_ancestors(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = AncestorsNodeStream::new(
ctx.clone(),
@ -224,9 +225,10 @@ mod test {
fn merge_ancestors_from_merge(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = AncestorsNodeStream::new(
ctx.clone(),
@ -263,9 +265,10 @@ mod test {
fn merge_ancestors_one_branch(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = AncestorsNodeStream::new(
ctx.clone(),
@ -295,9 +298,10 @@ mod test {
let ctx = CoreContext::test_mock(fb);
// The unshared_merge_uneven fixture has a commit after the merge. Pull in everything
// by starting at the head and working back to the original unshared history commits
let repo = Arc::new(unshared_merge_uneven::getrepo(fb).await);
let repo = unshared_merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = AncestorsNodeStream::new(
ctx.clone(),
@ -340,9 +344,10 @@ mod test {
fn no_common_ancestor(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(unshared_merge_uneven::getrepo(fb).await);
let repo = unshared_merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = greatest_common_ancestor(
ctx.clone(),
@ -360,9 +365,10 @@ mod test {
fn greatest_common_ancestor_different_branches(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = greatest_common_ancestor(
ctx.clone(),
@ -386,9 +392,10 @@ mod test {
fn greatest_common_ancestor_same_branch(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = greatest_common_ancestor(
ctx.clone(),
@ -412,9 +419,10 @@ mod test {
fn all_common_ancestors_different_branches(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = common_ancestors(
ctx.clone(),
@ -438,9 +446,10 @@ mod test {
fn all_common_ancestors_same_branch(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = common_ancestors(
ctx.clone(),

View File

@ -374,9 +374,10 @@ mod test {
fn empty_ancestors_combinators(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let stream = DifferenceOfUnionsOfAncestorsNodeStream::new_union(
ctx.clone(),
@ -408,9 +409,10 @@ mod test {
fn linear_ancestors_with_excludes(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = DifferenceOfUnionsOfAncestorsNodeStream::new_with_excludes(
ctx.clone(),
@ -435,9 +437,10 @@ mod test {
fn linear_ancestors_with_excludes_empty(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = DifferenceOfUnionsOfAncestorsNodeStream::new_with_excludes(
ctx.clone(),
@ -456,9 +459,10 @@ mod test {
fn ancestors_union(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = DifferenceOfUnionsOfAncestorsNodeStream::new_union(
ctx.clone(),
@ -495,9 +499,10 @@ mod test {
fn merge_ancestors_from_merge_excludes(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = DifferenceOfUnionsOfAncestorsNodeStream::new_with_excludes(
ctx.clone(),
@ -529,9 +534,10 @@ mod test {
fn merge_ancestors_from_merge_excludes_union(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodestream = DifferenceOfUnionsOfAncestorsNodeStream::new_with_excludes(
ctx.clone(),

View File

@ -190,9 +190,10 @@ mod test {
fn intersect_identical_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash = "a5ffa77602a066db7d5cfb9fb5823a0895717c5a";
let head_csid = string_to_bonsai(fb, &repo, hash).await;
@ -214,9 +215,10 @@ mod test {
fn intersect_three_different_nodes(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let bcs_a947 =
string_to_bonsai(fb, &repo, "a9473beb2eb03ddb1cccc3fbaeb8a4820f9cd157").await;
@ -243,9 +245,10 @@ mod test {
fn intersect_three_identical_nodes(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let bcs_d0a =
string_to_bonsai(fb, &repo, "d0a361e9022d226ae52f689667bd7d212a19cfe0").await;
@ -266,9 +269,10 @@ mod test {
fn intersect_nesting(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let bcs_3c15 =
string_to_bonsai(fb, &repo, "3c15267ebf11807f3d772eb891272b911ec68759").await;
@ -298,9 +302,10 @@ mod test {
fn intersection_of_unions(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash1 = "d0a361e9022d226ae52f689667bd7d212a19cfe0";
let hash2 = "3c15267ebf11807f3d772eb891272b911ec68759";
@ -339,9 +344,10 @@ mod test {
fn intersect_error_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash = "a5ffa77602a066db7d5cfb9fb5823a0895717c5a";
let changeset = string_to_bonsai(fb, &repo, hash).await;
@ -371,9 +377,10 @@ mod test {
fn intersect_nothing(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let inputs: Vec<BonsaiNodeStream> = vec![];
let nodestream =
@ -387,13 +394,13 @@ mod test {
// Tests that we handle an input staying at NotReady for a while without panicking
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
Arc::new(TestChangesetFetcher::new(repo));
let inputs: Vec<BonsaiNodeStream> = vec![NotReadyEmptyStream::new(10).boxify()];
let mut nodestream =
IntersectNodeStream::new(ctx.clone(), &changeset_fetcher, inputs.into_iter())
.compat();
IntersectNodeStream::new(ctx, &changeset_fetcher, inputs.into_iter()).compat();
assert!(nodestream.next().await.is_none());
});
}
@ -402,9 +409,10 @@ mod test {
fn intersect_unshared_merge_even(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(unshared_merge_even::getrepo(fb).await);
let repo = unshared_merge_even::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
// Post-merge, merge, and both unshared branches
let inputs = get_single_bonsai_streams(
@ -455,9 +463,10 @@ mod test {
fn intersect_unshared_merge_uneven(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(unshared_merge_uneven::getrepo(fb).await);
let repo = unshared_merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
// Post-merge, merge, and both unshared branches
let inputs = get_single_bonsai_streams(

View File

@ -139,7 +139,7 @@ mod test {
pub fn as_revset(&self, ctx: CoreContext, repo: Arc<BlobRepo>) -> BonsaiNodeStream {
let mut output: Vec<BonsaiNodeStream> = Vec::with_capacity(self.rp_entries.len());
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
Arc::new(TestChangesetFetcher::new((*repo).clone()));
for entry in self.rp_entries.iter() {
let next_node = ValidateNodeStream::new(
ctx.clone(),
@ -405,9 +405,10 @@ mod test {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new($repo::getrepo(fb).await);
let repo = $repo::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let all_changesets = get_changesets_from_repo(ctx.clone(), &*repo).await;

View File

@ -140,9 +140,10 @@ mod test {
fn difference_identical_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash = "a5ffa77602a066db7d5cfb9fb5823a0895717c5a";
let changeset = string_to_bonsai(fb, &repo, hash).await;
@ -161,9 +162,10 @@ mod test {
fn difference_node_and_empty(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash = "a5ffa77602a066db7d5cfb9fb5823a0895717c5a";
let changeset = string_to_bonsai(fb, &repo, hash).await;
@ -182,9 +184,10 @@ mod test {
fn difference_empty_and_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let bcs_id =
string_to_bonsai(fb, &repo, "a5ffa77602a066db7d5cfb9fb5823a0895717c5a").await;
@ -205,9 +208,10 @@ mod test {
fn difference_two_nodes(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let bcs_id_1 = string_to_bonsai(
fb,
@ -237,9 +241,10 @@ mod test {
fn difference_error_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash = "a5ffa77602a066db7d5cfb9fb5823a0895717c5a";
let changeset = string_to_bonsai(fb, &repo, hash).await;
@ -273,11 +278,12 @@ mod test {
// Tests that we handle an input staying at NotReady for a while without panicking
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
Arc::new(TestChangesetFetcher::new(repo));
let mut nodestream = SetDifferenceNodeStream::new(
ctx.clone(),
ctx,
&changeset_fetcher,
NotReadyEmptyStream::new(10).boxify(),
NotReadyEmptyStream::new(10).boxify(),
@ -292,9 +298,10 @@ mod test {
fn difference_union_with_single_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let inputs = get_single_bonsai_streams(
ctx.clone(),
@ -341,9 +348,10 @@ mod test {
fn difference_single_node_with_union(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let inputs = get_single_bonsai_streams(
ctx.clone(),
@ -380,9 +388,10 @@ mod test {
fn difference_merge_even(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_even::getrepo(fb).await);
let repo = merge_even::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
// Top three commits in my hg log -G -r 'all()' output
let inputs = get_single_bonsai_streams(
@ -439,9 +448,10 @@ mod test {
fn difference_merge_uneven(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(merge_uneven::getrepo(fb).await);
let repo = merge_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
// Merge commit, and one from each branch
let inputs = get_single_bonsai_streams(

View File

@ -19,11 +19,11 @@ use std::collections::HashMap;
use std::sync::Arc;
pub struct TestChangesetFetcher {
repo: Arc<BlobRepo>,
repo: BlobRepo,
}
impl TestChangesetFetcher {
pub fn new(repo: Arc<BlobRepo>) -> Self {
pub fn new(repo: BlobRepo) -> Self {
Self { repo }
}
}

View File

@ -176,9 +176,10 @@ mod test {
fn union_identical_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash = "a5ffa77602a066db7d5cfb9fb5823a0895717c5a";
let head_csid = string_to_bonsai(fb, &repo, hash).await;
@ -199,9 +200,10 @@ mod test {
fn union_error_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let hash = "a5ffa77602a066db7d5cfb9fb5823a0895717c5a";
let expected_csid = string_to_bonsai(fb, &repo, hash).await;
@ -233,9 +235,10 @@ mod test {
fn union_three_nodes(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let bcs_d0a =
string_to_bonsai(fb, &repo, "d0a361e9022d226ae52f689667bd7d212a19cfe0").await;
@ -267,9 +270,10 @@ mod test {
fn union_nothing(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let inputs: Vec<BonsaiNodeStream> = vec![];
let nodestream =
@ -282,9 +286,10 @@ mod test {
fn union_nesting(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let bcs_d0a =
string_to_bonsai(fb, &repo, "d0a361e9022d226ae52f689667bd7d212a19cfe0").await;
@ -323,13 +328,13 @@ mod test {
// Tests that we handle an input staying at NotReady for a while without panicking
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
Arc::new(TestChangesetFetcher::new(repo));
let inputs: Vec<BonsaiNodeStream> = vec![NotReadyEmptyStream::new(10).boxify()];
let mut nodestream =
UnionNodeStream::new(ctx.clone(), &changeset_fetcher, inputs.into_iter()).compat();
UnionNodeStream::new(ctx, &changeset_fetcher, inputs.into_iter()).compat();
assert!(nodestream.next().await.is_none());
});
@ -339,9 +344,10 @@ mod test {
fn union_branch_even_repo(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(branch_even::getrepo(fb).await);
let repo = branch_even::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let nodes = vec![
string_to_bonsai(fb, &repo, "4f7f3fd428bec1a48f9314414b063c706d9c1aed").await,
@ -365,9 +371,10 @@ mod test {
fn union_branch_uneven_repo(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(branch_uneven::getrepo(fb).await);
let repo = branch_uneven::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let cs_1 =
string_to_bonsai(fb, &repo, "3cda5c78aa35f0f5b09780d971197b51cad4613a").await;
@ -404,9 +411,10 @@ mod test {
fn union_branch_wide_repo(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(branch_wide::getrepo(fb).await);
let repo = branch_wide::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
// Two nodes should share the same generation number
let inputs = get_single_bonsai_streams(

View File

@ -88,9 +88,10 @@ mod test {
fn validate_accepts_single_node(fb: FacebookInit) {
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
let repo = Arc::new(repo);
let head_csid =
string_to_bonsai(fb, &repo, "a5ffa77602a066db7d5cfb9fb5823a0895717c5a").await;
@ -108,10 +109,9 @@ mod test {
// Tests that we handle an input staying at NotReady for a while without panicking
async_unit::tokio_unit_test(async move {
let ctx = CoreContext::test_mock(fb);
let repo = Arc::new(linear::getrepo(fb).await);
let repo = linear::getrepo(fb).await;
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
Arc::new(TestChangesetFetcher::new(repo));
let mut nodestream = ValidateNodeStream::new(
ctx,
@ -137,7 +137,8 @@ mod test {
.chain(single_changeset_id(ctx.clone(), head_csid.clone(), &repo));
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
Arc::new(TestChangesetFetcher::new((*repo).clone()));
let mut nodestream =
ValidateNodeStream::new(ctx, nodestream.boxify(), &changeset_fetcher).boxify();
@ -169,8 +170,10 @@ mod test {
string_to_bonsai(fb, &repo, "3c15267ebf11807f3d772eb891272b911ec68759").await,
&repo,
));
let changeset_fetcher: Arc<dyn ChangesetFetcher> =
Arc::new(TestChangesetFetcher::new(repo.clone()));
Arc::new(TestChangesetFetcher::new((*repo).clone()));
let mut nodestream =
ValidateNodeStream::new(ctx, nodestream.boxify(), &changeset_fetcher).boxify();