about summary refs log tree commit diff
path: root/tvix/derivation/src/output.rs
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-01-17T11·04+0100
committerflokli <flokli@flokli.de>2023-01-18T17·13+0000
commit6e7f06d942a5e54d20d4441ff196ce3ffc99855a (patch)
treec20593cc69b5b2fb9cfe815f4119668606c6736f /tvix/derivation/src/output.rs
parenteebb3ce028e56872cdfee462dd6556e33d2f204e (diff)
refactor(tvix/derivation): use DerivationError in Output::validate r/5696
Change-Id: I7dbd3b8ff9ef92acddde2e579fb24b8311c34d8f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7852
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Diffstat (limited to 'tvix/derivation/src/output.rs')
-rw-r--r--tvix/derivation/src/output.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/tvix/derivation/src/output.rs b/tvix/derivation/src/output.rs
index b8bd49fbbb18..982ac7c9eb79 100644
--- a/tvix/derivation/src/output.rs
+++ b/tvix/derivation/src/output.rs
@@ -1,5 +1,7 @@
 use serde::{Deserialize, Serialize};
-use tvix_store::store_path::{ParseStorePathError, StorePath};
+use tvix_store::store_path::StorePath;
+
+use crate::OutputError;
 
 #[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
 pub struct Output {
@@ -22,9 +24,10 @@ impl Output {
         self.hash.is_some()
     }
 
-    pub fn validate(&self) -> Result<(), ParseStorePathError> {
+    pub fn validate(&self) -> Result<(), OutputError> {
+        // TODO: add validation for hash, hashAlgo
         if let Err(e) = StorePath::from_absolute_path(&self.path) {
-            return Err(e);
+            return Err(OutputError::InvalidOutputPath(self.path.to_string(), e));
         }
         Ok(())
     }