From f3da96c2563656c476883fccde2f2862daae041a Mon Sep 17 00:00:00 2001 From: Ben Boeckel <ben.boeckel@kitware.com> Date: Mon, 23 Dec 2019 10:27:06 -0500 Subject: [PATCH 1/2] gitlab-ci: fix only settings --- .gitlab-ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6d892b86..70f266e3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,8 +6,8 @@ before_script: .only_settings: &only_settings - merge_requests - - branches@utils/rust-git-workarea - - tags@utils/rust-git-workarea + - branches@utils/rust-ghostflow + - tags@utils/rust-ghostflow .cargo_update: &cargo_update - cargo generate-lockfile $GENERATE_LOCKFILE_ARGS @@ -53,6 +53,9 @@ before_script: - apt-get install -yqq --no-install-recommends git rsync - git config --global user.name "Ghostflow Testing" - git config --global user.email "ghostflow@example.invalid" + # Make a ref locally available. The `clone` test assumes that the test + # repository has a branch checked out. This is not the case on gitlab-ci. + - git fetch origin +refs/heads/*:refs/heads/* - cargo tarpaulin --frozen --exclude-files vendor --ignore-panics --all --verbose .rust_minimum: &rust_minimum -- GitLab From 88456b601495ca136f6038eadf37823c977e166b Mon Sep 17 00:00:00 2001 From: Ben Boeckel <ben.boeckel@kitware.com> Date: Mon, 23 Dec 2019 10:59:48 -0500 Subject: [PATCH 2/2] clippy: remove unnecessary clone calls --- ghostflow-github/src/ghostflow.rs | 2 +- ghostflow/src/actions/tests/check.rs | 34 ++++++++++----------- ghostflow/src/actions/tests/data.rs | 4 +-- ghostflow/src/actions/tests/host.rs | 10 +++---- ghostflow/src/actions/tests/stage.rs | 44 ++++++++++++++-------------- 5 files changed, 46 insertions(+), 48 deletions(-) diff --git a/ghostflow-github/src/ghostflow.rs b/ghostflow-github/src/ghostflow.rs index 3c1c2fde..10c29876 100644 --- a/ghostflow-github/src/ghostflow.rs +++ b/ghostflow-github/src/ghostflow.rs @@ -1338,7 +1338,7 @@ impl HostingService for GithubService { app_id: self.github.app_id(), }; - let query = queries::CommitStatuses::build_query(vars.clone()); + let query = queries::CommitStatuses::build_query(vars); let check_suite = self .github .send::<queries::CommitStatuses>(owner, &query) diff --git a/ghostflow/src/actions/tests/check.rs b/ghostflow/src/actions/tests/check.rs index c9477bfa..2aafb65a 100644 --- a/ghostflow/src/actions/tests/check.rs +++ b/ghostflow/src/actions/tests/check.rs @@ -117,7 +117,7 @@ fn test_check_success() { service.step(2); let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins); + let check = Check::new(ctx, service.clone(), config, &admins); let result = check .check_mr("test_check_success", &CommitId::new(BASE), &mr_update) @@ -147,7 +147,7 @@ fn test_check_success() { let status = &mr_commit_statuses_head[1]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!( status.name, "ghostflow-check-58b2dee73ab6e6b1f3587b41d0ccdbe2ded785dd", @@ -173,7 +173,7 @@ fn test_check_custom_base_name() { service.step(2); let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins).base_name("test"); + let check = Check::new(ctx, service.clone(), config, &admins).base_name("test"); let result = check .check_mr( @@ -207,7 +207,7 @@ fn test_check_custom_base_name() { let status = &mr_commit_statuses_head[1]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!( status.name, "test-check-58b2dee73ab6e6b1f3587b41d0ccdbe2ded785dd", @@ -232,8 +232,7 @@ fn test_check_success_post_when_failure() { service.step(2); let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = - Check::new(ctx.clone(), service.clone(), config, &admins).post_when(PostWhen::Failure); + let check = Check::new(ctx, service.clone(), config, &admins).post_when(PostWhen::Failure); let result = check .check_mr( @@ -269,7 +268,7 @@ fn test_check_failure() { service.step(2); let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins); + let check = Check::new(ctx, service.clone(), config, &admins); let result = check .check_mr("test_check_failure", &CommitId::new(BASE), &mr_update) @@ -354,8 +353,7 @@ fn test_check_failure_post_when_failure() { service.step(2); let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = - Check::new(ctx.clone(), service.clone(), config, &admins).post_when(PostWhen::Failure); + let check = Check::new(ctx, service.clone(), config, &admins).post_when(PostWhen::Failure); let result = check .check_mr( @@ -421,7 +419,7 @@ fn test_check_backport_commit() { let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins); + let check = Check::new(ctx, service.clone(), config, &admins); let result = check .check_mr_with( @@ -456,7 +454,7 @@ fn test_check_backport_commit() { let status = &mr_update_commit_statuses[1]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!( status.name, "ghostflow-check-58b2dee73ab6e6b1f3587b41d0ccdbe2ded785dd", @@ -485,7 +483,7 @@ fn test_check_unrelated_commit() { let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins); + let check = Check::new(ctx, service.clone(), config, &admins); let err = check .check_mr_with( @@ -526,7 +524,7 @@ fn test_check_branch_checks_once() { let mr_update = service.merge_request("base", 1).unwrap(); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins); + let check = Check::new(ctx, service.clone(), config, &admins); let result = check .check_mr( @@ -574,7 +572,7 @@ fn test_check_branch_checks_once() { let status = &mr_commit_update_statuses[1]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr_update.source_branch.clone())); + assert_eq!(status.refname, Some(mr_update.source_branch)); assert_eq!( status.name, "ghostflow-check-58b2dee73ab6e6b1f3587b41d0ccdbe2ded785dd", @@ -598,7 +596,7 @@ fn test_check_warning() { let mr = service.merge_request("base", 2).unwrap(); let config = GitCheckConfiguration::new(); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins); + let check = Check::new(ctx, service.clone(), config, &admins); let result = check .check_mr("test_check_warning", &CommitId::new(BASE), &mr) @@ -640,7 +638,7 @@ fn test_check_warning() { let status = &mr_commit_statuses[1]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!( status.name, "ghostflow-check-58b2dee73ab6e6b1f3587b41d0ccdbe2ded785dd", @@ -669,7 +667,7 @@ fn test_check_warning_temporary() { config.add_check(&temporary); let admins = admins(); - let check = Check::new(ctx.clone(), service.clone(), config, &admins); + let check = Check::new(ctx, service.clone(), config, &admins); let result = check .check_mr("test_check_warning_temporary", &CommitId::new(BASE), &mr) @@ -714,7 +712,7 @@ fn test_check_warning_temporary() { let status = &mr_commit_statuses[1]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!( status.name, "ghostflow-check-58b2dee73ab6e6b1f3587b41d0ccdbe2ded785dd", diff --git a/ghostflow/src/actions/tests/data.rs b/ghostflow/src/actions/tests/data.rs index 2ebfe042..85e7c542 100644 --- a/ghostflow/src/actions/tests/data.rs +++ b/ghostflow/src/actions/tests/data.rs @@ -202,7 +202,7 @@ fn test_no_data() { fn test_no_destinations() { let tempdir = test_workspace_dir("test_no_destinations"); let (test_repo, ctx) = git_context(tempdir.path()); - let data = Data::new(ctx.clone()); + let data = Data::new(ctx); create_data_refs(VALID_DATA, &test_repo.ctx, "data"); @@ -215,7 +215,7 @@ fn test_no_destinations() { fn test_no_destinations_no_data() { let tempdir = test_workspace_dir("test_no_destinations_no_data"); let (test_repo, ctx) = git_context(tempdir.path()); - let data = Data::new(ctx.clone()); + let data = Data::new(ctx); let res = data.fetch_data(&test_repo.repo).unwrap(); assert_eq!(res, DataActionResult::NoData); diff --git a/ghostflow/src/actions/tests/host.rs b/ghostflow/src/actions/tests/host.rs index bd680846..3d251b89 100644 --- a/ghostflow/src/actions/tests/host.rs +++ b/ghostflow/src/actions/tests/host.rs @@ -515,11 +515,11 @@ impl MockService { Self::new() .add_project(base_repo.clone()) .add_project(fork_repo.clone()) - .add_project(self_repo.clone()) + .add_project(self_repo) .add_user(user_user.clone()) - .add_user(user_other.clone()) - .add_user(user_maint.clone()) - .add_user(user_ignore.clone()) + .add_user(user_other) + .add_user(user_maint) + .add_user(user_ignore) .add_issue(issue1) .add_issue(issue2) .add_merge_request(mr1_base) @@ -723,7 +723,7 @@ impl HostingService for MockService { fn members(&self, project: &str) -> Result<Vec<Membership>, HostingServiceError> { let _ = self.find_project(project)?; - Ok(self.find_memberships(project)?.clone()) + Ok(self.find_memberships(project)?) } fn add_hook(&self, project: &str, url: &str) -> Result<(), HostingServiceError> { diff --git a/ghostflow/src/actions/tests/stage.rs b/ghostflow/src/actions/tests/stage.rs index ac31441e..ec6aa4db 100644 --- a/ghostflow/src/actions/tests/stage.rs +++ b/ghostflow/src/actions/tests/stage.rs @@ -141,7 +141,7 @@ fn test_stage_branch() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); } @@ -168,7 +168,7 @@ fn test_stage_branch_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); } @@ -260,7 +260,7 @@ fn test_stage_branch_update() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); @@ -307,7 +307,7 @@ fn test_stage_branch_update_rename() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); @@ -351,7 +351,7 @@ fn test_stage_branch_update_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); @@ -408,7 +408,7 @@ fn test_stage_branch_missed_update() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); } @@ -454,7 +454,7 @@ fn test_stage_branch_missed_update_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); } @@ -503,7 +503,7 @@ fn test_stage_branch_update_conflict() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Failed); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "failed to merge: 1 conflicting paths"); @@ -511,7 +511,7 @@ fn test_stage_branch_update_conflict() { let status = &mr2_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr2.source_branch.clone())); + assert_eq!(status.refname, Some(mr2.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); @@ -569,7 +569,7 @@ fn test_stage_branch_update_conflict_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Failed); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "failed to merge: 1 conflicting paths"); @@ -577,7 +577,7 @@ fn test_stage_branch_update_conflict_quiet() { let status = &mr2_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr2.source_branch.clone())); + assert_eq!(status.refname, Some(mr2.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); @@ -619,7 +619,7 @@ fn test_stage_branch_conflict() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Failed); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "failed to merge: 1 conflicting paths"); } @@ -654,7 +654,7 @@ fn test_stage_branch_conflict_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Failed); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "failed to merge: 1 conflicting paths"); } @@ -687,7 +687,7 @@ fn test_update_base_ok() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "staged"); } @@ -731,7 +731,7 @@ fn test_update_base_conflict() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Failed); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "failed to merge: 1 conflicting paths"); } @@ -776,7 +776,7 @@ fn test_update_base_conflict_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Failed); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "failed to merge: 1 conflicting paths"); } @@ -815,7 +815,7 @@ fn test_unstage_branch_update() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "unstaged"); } @@ -871,7 +871,7 @@ fn test_unstage_branch() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "unstaged"); } @@ -902,7 +902,7 @@ fn test_unstage_branch_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!(status.description, "unstaged"); } @@ -984,7 +984,7 @@ fn test_tag_stage() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!( status.description, @@ -1025,7 +1025,7 @@ fn test_tag_stage_keep_topics() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!( status.description, @@ -1078,7 +1078,7 @@ fn test_tag_stage_quiet() { let status = &mr_commit_statuses[0]; assert_eq!(status.state, CommitStatusState::Success); - assert_eq!(status.refname, Some(mr.source_branch.clone())); + assert_eq!(status.refname, Some(mr.source_branch)); assert_eq!(status.name, "ghostflow-stager"); assert_eq!( status.description, -- GitLab