aboutsummaryrefslogtreecommitdiff
path: root/xtask/src/command.rs
diff options
context:
space:
mode:
Diffstat (limited to 'xtask/src/command.rs')
-rw-r--r--xtask/src/command.rs33
1 files changed, 22 insertions, 11 deletions
diff --git a/xtask/src/command.rs b/xtask/src/command.rs
index 8bf49849..d94a7ab3 100644
--- a/xtask/src/command.rs
+++ b/xtask/src/command.rs
@@ -1,14 +1,16 @@
-use crate::RunResult;
+use crate::{RunResult, TestRunError};
use core::fmt;
use os_pipe::pipe;
use std::{fs::File, io::Read, path::Path, process::Command};
+#[allow(dead_code)]
#[derive(Debug, Clone, Copy, PartialEq)]
pub enum BuildMode {
Release,
Debug,
}
+#[derive(Debug)]
pub enum CargoCommand<'a> {
Run {
example: &'a str,
@@ -146,17 +148,26 @@ pub fn run_command(command: &CargoCommand) -> anyhow::Result<RunResult> {
/// Check if `run` was sucessful.
/// returns Ok in case the run went as expected,
/// Err otherwise
-pub fn run_successful(run: &RunResult, expected_output_file: String) -> anyhow::Result<()> {
- let mut file_handle = File::open(expected_output_file)?;
+pub fn run_successful(run: &RunResult, expected_output_file: String) -> Result<(), TestRunError> {
+ let mut file_handle =
+ File::open(expected_output_file.clone()).map_err(|_| TestRunError::FileError {
+ file: expected_output_file.clone(),
+ })?;
let mut expected_output = String::new();
- file_handle.read_to_string(&mut expected_output)?;
- if expected_output == run.output && run.exit_status.success() {
- Ok(())
+ file_handle
+ .read_to_string(&mut expected_output)
+ .map_err(|_| TestRunError::FileError {
+ file: expected_output_file.clone(),
+ })?;
+
+ if expected_output != run.output {
+ Err(TestRunError::FileCmpError {
+ expected: expected_output.clone(),
+ got: run.output.clone(),
+ })
+ } else if !run.exit_status.success() {
+ Err(TestRunError::CommandError(run.clone()))
} else {
- Err(anyhow::anyhow!(
- "Run failed with exit status {}: {}",
- run.exit_status,
- run.output
- ))
+ Ok(())
}
}
Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-03-26Fix clonefile() so it actually does runGravatar Jarred Sumner 1-1/+4
2022-03-26Remove imports of <WTF/FileSystem.h>Gravatar Jarred Sumner 2-2/+0
2022-03-26Move .d.ts into a better folderGravatar Jarred Sumner 2-4/+109
2022-03-25Update response.file.test.jsGravatar Jarred Sumner 1-0/+8
2022-03-25fix error hanldingGravatar Jarred Sumner 1-6/+22
2022-03-25[bun.js] configuration and error handling for HTTP serverGravatar Jarred Sumner 16-1582/+2172
2022-03-24Auto-detect MimeType based on file extensionGravatar Jarred Sumner 3-48/+3603
2022-03-24Bun.openInEditorGravatar Jarred Sumner 4-13/+131
2022-03-24Update MakefileGravatar Jarred Sumner 1-1/+2
2022-03-24Implement error page for HTTP serverGravatar Jarred Sumner 14-171/+894
2022-03-24clang-formatGravatar Jarred Sumner 7-278/+363
2022-03-24Update response.zigGravatar Jarred Sumner 1-6/+6
2022-03-24[bun.js] Enable SharedArrayBuffer and expose internal LoaderGravatar Jarred Sumner 1-7/+16
2022-03-23handle bodies of 0 length betterGravatar Jarred Sumner 6-42/+86
2022-03-23Update server.zigGravatar Jarred Sumner 1-1/+2
2022-03-23Implement Request body support!Gravatar Jarred Sumner 3-30/+132
2022-03-23Support `Request.headers` and `Request.url` in http serverGravatar Jarred Sumner 5-30/+134
2022-03-23Update MakefileGravatar Jarred Sumner 1-1/+1
2022-03-23:scissors: testGravatar Jarred Sumner 1-14/+2
2022-03-23[bun.js] Bun.write for macOSGravatar Jarred Sumner 14-76/+232
2022-03-23[bun.js] Implement Bun.write()Gravatar Jarred SUmner 11-63/+959
2022-03-22Handle integer sizes greater than i32Gravatar Jarred SUmner 14-74/+142
2022-03-22Linux-specific tweaksGravatar Jarred SUmner 6-43/+52
2022-03-22`Response.file` -> `Bun.file`Gravatar Jarred Sumner 3-72/+65
2022-03-21sendfile worksGravatar Jarred Sumner 7-62/+174
2022-03-21[bun.js] 2/? Implement `Response.file`, sendfile editionGravatar Jarred Sumner 8-161/+506
2022-03-21[bun.js] 1/? Implement `Response.file`Gravatar Jarred Sumner 13-103/+1103