upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2024-08-05 10:11:25 +0100
committerDanConwayDev <DanConwayDev@protonmail.com>2024-08-05 10:11:25 +0100
commit8e4e3e56a1806ae37941a6498a01f00e5361e9a8 (patch)
tree887ce8aabbaaab098931d9d8374de7ae57f09e7f
parent05801e572cad050eeec557643064f7e8aa026aaa (diff)
test(remote): run `list for-push` before `push`
because this is how git uses the git remote helper
-rw-r--r--test_utils/src/lib.rs11
-rw-r--r--tests/git_remote_helper.rs44
2 files changed, 45 insertions, 10 deletions
diff --git a/test_utils/src/lib.rs b/test_utils/src/lib.rs
index 2e7a4e8..f463652 100644
--- a/test_utils/src/lib.rs
+++ b/test_utils/src/lib.rs
@@ -792,6 +792,17 @@ impl CliTester {
792 Ok(before) 792 Ok(before)
793 } 793 }
794 794
795 pub fn expect_eventually_and_print<S>(&mut self, message: S) -> Result<String>
796 where
797 S: Into<String>,
798 {
799 let message_string = message.into();
800 let message = message_string.as_str();
801 let before = self.exp_string(message).context("exp_string failed")?;
802 println!("{before}");
803 Ok(before)
804 }
805
795 pub fn expect_after_whitespace<S>(&mut self, message: S) -> Result<&mut Self> 806 pub fn expect_after_whitespace<S>(&mut self, message: S) -> Result<&mut Self>
796 where 807 where
797 S: Into<String>, 808 S: Into<String>,
diff --git a/tests/git_remote_helper.rs b/tests/git_remote_helper.rs
index 93f81dc..0b600f6 100644
--- a/tests/git_remote_helper.rs
+++ b/tests/git_remote_helper.rs
@@ -596,6 +596,19 @@ mod push {
596 596
597 use super::*; 597 use super::*;
598 598
599 /// git runs `list for-push` before `push`. in `push` we use the git server
600 /// remote refs downloaded by `list` to assess how to push to git servers.
601 /// we are therefore running it this way in our tests
602 fn cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(
603 git_repo: &GitTestRepo,
604 ) -> Result<CliTester> {
605 let mut p = cli_tester_after_fetch(git_repo)?;
606
607 p.send_line("list for-push")?;
608 p.expect_eventually_and_print("\r\n\r\n")?;
609 Ok(p)
610 }
611
599 mod two_branches_in_batch_one_added_one_updated { 612 mod two_branches_in_batch_one_added_one_updated {
600 613
601 use super::*; 614 use super::*;
@@ -639,7 +652,9 @@ mod push {
639 main_commit_id 652 main_commit_id
640 ); 653 );
641 654
642 let mut p = cli_tester_after_fetch(&git_repo)?; 655 let mut p =
656 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
657
643 p.send_line("push refs/heads/main:refs/heads/main")?; 658 p.send_line("push refs/heads/main:refs/heads/main")?;
644 p.send_line("push refs/heads/vnext:refs/heads/vnext")?; 659 p.send_line("push refs/heads/vnext:refs/heads/vnext")?;
645 p.send_line("")?; 660 p.send_line("")?;
@@ -713,7 +728,8 @@ mod push {
713 main_commit_id 728 main_commit_id
714 ); 729 );
715 730
716 let mut p = cli_tester_after_fetch(&git_repo)?; 731 let mut p =
732 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
717 p.send_line("push refs/heads/main:refs/heads/main")?; 733 p.send_line("push refs/heads/main:refs/heads/main")?;
718 p.send_line("push refs/heads/vnext:refs/heads/vnext")?; 734 p.send_line("push refs/heads/vnext:refs/heads/vnext")?;
719 p.send_line("")?; 735 p.send_line("")?;
@@ -799,7 +815,9 @@ mod push {
799 main_commit_id 815 main_commit_id
800 ); 816 );
801 817
802 let mut p = cli_tester_after_fetch(&git_repo)?; 818 let mut p =
819 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
820
803 p.send_line("push refs/heads/main:refs/heads/main")?; 821 p.send_line("push refs/heads/main:refs/heads/main")?;
804 p.send_line("push refs/heads/vnext:refs/heads/vnext")?; 822 p.send_line("push refs/heads/vnext:refs/heads/vnext")?;
805 p.send_line("")?; 823 p.send_line("")?;
@@ -860,7 +878,8 @@ mod push {
860 r55.events = events; 878 r55.events = events;
861 879
862 let cli_tester_handle = std::thread::spawn(move || -> Result<()> { 880 let cli_tester_handle = std::thread::spawn(move || -> Result<()> {
863 let mut p = cli_tester_after_fetch(&git_repo)?; 881 let mut p =
882 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
864 p.send_line("push refs/heads/main:refs/heads/main")?; 883 p.send_line("push refs/heads/main:refs/heads/main")?;
865 p.send_line("push refs/heads/vnext:refs/heads/vnext")?; 884 p.send_line("push refs/heads/vnext:refs/heads/vnext")?;
866 p.send_line("")?; 885 p.send_line("")?;
@@ -946,7 +965,8 @@ mod push {
946 r55.events = events; 965 r55.events = events;
947 966
948 let cli_tester_handle = std::thread::spawn(move || -> Result<()> { 967 let cli_tester_handle = std::thread::spawn(move || -> Result<()> {
949 let mut p = cli_tester_after_fetch(&git_repo)?; 968 let mut p =
969 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
950 p.send_line("push refs/heads/main:refs/heads/main")?; 970 p.send_line("push refs/heads/main:refs/heads/main")?;
951 p.send_line("push refs/heads/vnext:refs/heads/vnext")?; 971 p.send_line("push refs/heads/vnext:refs/heads/vnext")?;
952 p.send_line("")?; 972 p.send_line("")?;
@@ -1071,7 +1091,8 @@ mod push {
1071 vnext_commit_id 1091 vnext_commit_id
1072 ); 1092 );
1073 1093
1074 let mut p = cli_tester_after_fetch(&git_repo)?; 1094 let mut p =
1095 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
1075 p.send_line("push :refs/heads/vnext")?; 1096 p.send_line("push :refs/heads/vnext")?;
1076 p.send_line("")?; 1097 p.send_line("")?;
1077 p.expect_eventually("\r\n\r\n")?; 1098 p.expect_eventually("\r\n\r\n")?;
@@ -1146,7 +1167,8 @@ mod push {
1146 vnext_commit_id 1167 vnext_commit_id
1147 ); 1168 );
1148 1169
1149 let mut p = cli_tester_after_fetch(&git_repo)?; 1170 let mut p =
1171 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
1150 p.send_line("push :refs/heads/vnext")?; 1172 p.send_line("push :refs/heads/vnext")?;
1151 p.send_line("")?; 1173 p.send_line("")?;
1152 p.expect_eventually("\r\n\r\n")?; 1174 p.expect_eventually("\r\n\r\n")?;
@@ -1211,7 +1233,8 @@ mod push {
1211 r55.events = events; 1233 r55.events = events;
1212 1234
1213 let cli_tester_handle = std::thread::spawn(move || -> Result<()> { 1235 let cli_tester_handle = std::thread::spawn(move || -> Result<()> {
1214 let mut p = cli_tester_after_fetch(&git_repo)?; 1236 let mut p =
1237 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
1215 p.send_line("push :refs/heads/vnext")?; 1238 p.send_line("push :refs/heads/vnext")?;
1216 p.send_line("")?; 1239 p.send_line("")?;
1217 // let res = p.expect_eventually("\r\n\r\n")?; 1240 // let res = p.expect_eventually("\r\n\r\n")?;
@@ -1267,7 +1290,8 @@ mod push {
1267 r55.events = events; 1290 r55.events = events;
1268 1291
1269 let cli_tester_handle = std::thread::spawn(move || -> Result<()> { 1292 let cli_tester_handle = std::thread::spawn(move || -> Result<()> {
1270 let mut p = cli_tester_after_fetch(&git_repo)?; 1293 let mut p =
1294 cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
1271 p.send_line("push :refs/heads/example-branch")?; 1295 p.send_line("push :refs/heads/example-branch")?;
1272 p.send_line("")?; 1296 p.send_line("")?;
1273 p.expect("ok refs/heads/example-branch\r\n")?; 1297 p.expect("ok refs/heads/example-branch\r\n")?;
@@ -1349,7 +1373,7 @@ mod push {
1349 r55.events = events; 1373 r55.events = events;
1350 1374
1351 let cli_tester_handle = std::thread::spawn(move || -> Result<()> { 1375 let cli_tester_handle = std::thread::spawn(move || -> Result<()> {
1352 let mut p = cli_tester_after_fetch(&git_repo)?; 1376 let mut p = cli_tester_after_nostr_fetch_and_sent_list_for_push_responds(&git_repo)?;
1353 p.send_line("push refs/heads/main:refs/heads/main")?; 1377 p.send_line("push refs/heads/main:refs/heads/main")?;
1354 p.send_line("")?; 1378 p.send_line("")?;
1355 p.expect("ok refs/heads/main\r\n")?; 1379 p.expect("ok refs/heads/main\r\n")?;