diff --git a/garnet/bin/cmc/meta/example.cml b/garnet/bin/cmc/meta/example.cml index b483d4a3ab6476a473d7cba1b5172e3de6cc7b7e..e1e911585d253afe43275adc60680f0e1fab7dd9 100644 --- a/garnet/bin/cmc/meta/example.cml +++ b/garnet/bin/cmc/meta/example.cml @@ -29,11 +29,11 @@ "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", }, ], "facets": { diff --git a/garnet/bin/cmc/src/cml.rs b/garnet/bin/cmc/src/cml.rs index 5ed1aa768bfab422dbe9f427b01797d2ecd05c59..d74d720eac6ff31e170ca6a5ce943c62f7638322 100644 --- a/garnet/bin/cmc/src/cml.rs +++ b/garnet/bin/cmc/src/cml.rs @@ -56,7 +56,7 @@ pub struct To { #[derive(Deserialize, Debug)] pub struct Child { pub name: String, - pub uri: String, + pub url: String, pub startup: Option<String>, } diff --git a/garnet/bin/cmc/src/compile.rs b/garnet/bin/cmc/src/compile.rs index d84d66281ee6cb5a43c53ae924c14349b47e9379..9010e856d9be1a254911cc05379f51d375a29469 100644 --- a/garnet/bin/cmc/src/compile.rs +++ b/garnet/bin/cmc/src/compile.rs @@ -154,7 +154,7 @@ fn translate_children(children_in: &Vec<cml::Child>) -> Result<Vec<cm::Child>, E return Err(Error::internal(format!("invalid startup"))); } }; - out_children.push(cm::Child { name: child.name.clone(), uri: child.uri.clone(), startup }); + out_children.push(cm::Child { name: child.name.clone(), url: child.url.clone(), startup }); } Ok(out_children) } @@ -328,7 +328,7 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" }, ] }), @@ -358,7 +358,7 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" } ] @@ -386,15 +386,15 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" }, { "name": "echo_server", - "uri": "fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm" + "url": "fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm" }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm" + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm" } ] }), @@ -438,17 +438,17 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" }, { "name": "echo_server", - "uri": "fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm", + "url": "fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm", "startup": "lazy" }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", "startup": "lazy" } ] @@ -459,16 +459,16 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", }, { "name": "gmail", - "uri": "https://www.google.com/gmail", + "url": "https://www.google.com/gmail", "startup": "eager", }, { "name": "echo", - "uri": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo.cm", + "url": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo.cm", "startup": "lazy", }, ] @@ -477,17 +477,17 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" }, { "name": "gmail", - "uri": "https://www.google.com/gmail", + "url": "https://www.google.com/gmail", "startup": "eager" }, { "name": "echo", - "uri": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo.cm", + "url": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo.cm", "startup": "lazy" } ] @@ -541,11 +541,11 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm" + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm" } ], "facets": { @@ -597,12 +597,12 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", "startup": "lazy" } ], diff --git a/garnet/bin/cmc/src/validate.rs b/garnet/bin/cmc/src/validate.rs index 949fba9c40e99b22dd7ee8a7b99b4891b7c3e352..7bc41b60b8bf4588909c8f066e1e1040042dee7e 100644 --- a/garnet/bin/cmc/src/validate.rs +++ b/garnet/bin/cmc/src/validate.rs @@ -692,12 +692,12 @@ mod tests { "children": [ { "name": "system-logger2", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" }, { "name": "abc123_-", - "uri": "https://www.google.com/gmail", + "url": "https://www.google.com/gmail", "startup": "eager" } ] @@ -708,14 +708,14 @@ mod tests { input = json!({ "children": [ {} ] }), - result = Err(Error::validate_schema(CM_SCHEMA, "This property is required at /children/0/name, This property is required at /children/0/startup, This property is required at /children/0/uri")), + result = Err(Error::validate_schema(CM_SCHEMA, "This property is required at /children/0/name, This property is required at /children/0/startup, This property is required at /children/0/url")), }, test_cm_children_bad_name => { input = json!({ "children": [ { "name": "bad^", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" } ] @@ -827,7 +827,7 @@ mod tests { "children": [ { "name": "abcdefghijklmnopqrstuvwxyz0123456789_-.", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" } ] @@ -839,7 +839,7 @@ mod tests { "children": [ { "name": "#bad", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" } ] @@ -851,48 +851,48 @@ mod tests { "children": [ { "name": "a".repeat(101), - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" } ] }), result = Err(Error::validate_schema(CM_SCHEMA, "MaxLength condition is not met at /children/0/name")), }, - test_cm_uri => { + test_cm_url => { input = json!({ "children": [ { "name": "logger", - "uri": "my+awesome-scheme.2://abc123!@#$%.com", + "url": "my+awesome-scheme.2://abc123!@#$%.com", "startup": "lazy" } ] }), result = Ok(()), }, - test_cm_uri_invalid => { + test_cm_url_invalid => { input = json!({ "children": [ { "name": "logger", - "uri": "fuchsia-pkg://", + "url": "fuchsia-pkg://", "startup": "lazy" } ] }), - result = Err(Error::validate_schema(CM_SCHEMA, "Pattern condition is not met at /children/0/uri")), + result = Err(Error::validate_schema(CM_SCHEMA, "Pattern condition is not met at /children/0/url")), }, - test_cm_uri_too_long => { + test_cm_url_too_long => { input = json!({ "children": [ { "name": "logger", - "uri": &format!("fuchsia-pkg://{}", "a".repeat(4083)), + "url": &format!("fuchsia-pkg://{}", "a".repeat(4083)), "startup": "lazy" } ] }), - result = Err(Error::validate_schema(CM_SCHEMA, "MaxLength condition is not met at /children/0/uri")), + result = Err(Error::validate_schema(CM_SCHEMA, "MaxLength condition is not met at /children/0/url")), }, } @@ -907,7 +907,7 @@ mod tests { "children": [ { 'name': 'logger', - 'uri': 'fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm', + 'url': 'fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm', }, ], }"##; @@ -960,7 +960,7 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" } ] }), @@ -974,7 +974,7 @@ mod tests { "children": [ { "name": "abcdefghijklmnopqrstuvwxyz0123456789_-.", - "uri": "https://www.google.com/gmail" + "url": "https://www.google.com/gmail" } ] }), @@ -1004,7 +1004,7 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" } ] }), @@ -1049,15 +1049,15 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" }, { "name": "scenic", - "uri": "fuchsia-pkg://fuchsia.com/scenic/stable#meta/scenic.cm" + "url": "fuchsia-pkg://fuchsia.com/scenic/stable#meta/scenic.cm" }, { "name": "echo_server", - "uri": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo_server.cm" + "url": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo_server.cm" } ] }), @@ -1079,11 +1079,11 @@ mod tests { "children": [ { "name": "abcdefghijklmnopqrstuvwxyz0123456789_-from", - "uri": "https://www.google.com/gmail" + "url": "https://www.google.com/gmail" }, { "name": "abcdefghijklmnopqrstuvwxyz0123456789_-to", - "uri": "https://www.google.com/gmail" + "url": "https://www.google.com/gmail" }, ] }), @@ -1152,7 +1152,7 @@ mod tests { } ], "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" } ] }), result = Err(Error::validate("\"#missing\" is an \"offer\" target but it does not appear in \"children\"")), @@ -1179,7 +1179,7 @@ mod tests { ], } ], "children": [ { - "name": "logger", "uri": "fuchsia-pkg://fuchsia.com/logger#meta/logger.cm", + "name": "logger", "url": "fuchsia-pkg://fuchsia.com/logger#meta/logger.cm", } ], }), result = Err(Error::validate("Offer target \"#logger\" is same as source")), @@ -1206,11 +1206,11 @@ mod tests { "children": [ { "name": "scenic", - "uri": "fuchsia-pkg://fuchsia.com/scenic/stable#meta/scenic.cm" + "url": "fuchsia-pkg://fuchsia.com/scenic/stable#meta/scenic.cm" }, { "name": "echo_server", - "uri": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo_server.cm" + "url": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo_server.cm" } ] }), @@ -1223,16 +1223,16 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", }, { "name": "gmail", - "uri": "https://www.google.com/gmail", + "url": "https://www.google.com/gmail", "startup": "eager", }, { "name": "echo", - "uri": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo.cm", + "url": "fuchsia-pkg://fuchsia.com/echo/stable#meta/echo.cm", "startup": "lazy", }, ] @@ -1243,18 +1243,18 @@ mod tests { input = json!({ "children": [ {} ] }), - result = Err(Error::validate_schema(CML_SCHEMA, "This property is required at /children/0/name, This property is required at /children/0/uri")), + result = Err(Error::validate_schema(CML_SCHEMA, "This property is required at /children/0/name, This property is required at /children/0/url")), }, test_cml_children_duplicate_names => { input = json!({ "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm" }, { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/beta#meta/logger.cm" + "url": "fuchsia-pkg://fuchsia.com/logger/beta#meta/logger.cm" } ] }), @@ -1265,7 +1265,7 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "zzz", }, ], @@ -1353,7 +1353,7 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", }, ] }), @@ -1364,7 +1364,7 @@ mod tests { "children": [ { "name": "abcdefghijklmnopqrstuvwxyz0123456789_-.", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", }, ] }), @@ -1375,7 +1375,7 @@ mod tests { "children": [ { "name": "#bad", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", }, ] }), @@ -1386,44 +1386,44 @@ mod tests { "children": [ { "name": "a".repeat(101), - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", } ] }), result = Err(Error::validate_schema(CML_SCHEMA, "MaxLength condition is not met at /children/0/name")), }, - test_cml_uri => { + test_cml_url => { input = json!({ "children": [ { "name": "logger", - "uri": "my+awesome-scheme.2://abc123!@#$%.com", + "url": "my+awesome-scheme.2://abc123!@#$%.com", }, ] }), result = Ok(()), }, - test_cml_uri_invalid => { + test_cml_url_invalid => { input = json!({ "children": [ { "name": "logger", - "uri": "fuchsia-pkg://", + "url": "fuchsia-pkg://", }, ] }), - result = Err(Error::validate_schema(CML_SCHEMA, "Pattern condition is not met at /children/0/uri")), + result = Err(Error::validate_schema(CML_SCHEMA, "Pattern condition is not met at /children/0/url")), }, - test_cml_uri_too_long => { + test_cml_url_too_long => { input = json!({ "children": [ { "name": "logger", - "uri": &format!("fuchsia-pkg://{}", "a".repeat(4083)), + "url": &format!("fuchsia-pkg://{}", "a".repeat(4083)), }, ] }), - result = Err(Error::validate_schema(CML_SCHEMA, "MaxLength condition is not met at /children/0/uri")), + result = Err(Error::validate_schema(CML_SCHEMA, "MaxLength condition is not met at /children/0/url")), }, } diff --git a/garnet/bin/cmc/tests/golden_debug.cm b/garnet/bin/cmc/tests/golden_debug.cm index 67760cc11bd8346b7e430b0e97f7d31a78979762..e52ce8f1aef956f6fabb646b61ebbbb1c14e6644 100644 --- a/garnet/bin/cmc/tests/golden_debug.cm +++ b/garnet/bin/cmc/tests/golden_debug.cm @@ -42,12 +42,12 @@ "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", "startup": "lazy" } ], diff --git a/garnet/bin/cmc/tests/golden_release.cm b/garnet/bin/cmc/tests/golden_release.cm index 365eab763803c8962217db1fd00c16153e69129c..c779cf7759260ff242d78295ddaff557505fc1cf 100644 --- a/garnet/bin/cmc/tests/golden_release.cm +++ b/garnet/bin/cmc/tests/golden_release.cm @@ -1 +1 @@ -{"program":{"binary":"bin/example"},"uses":[{"service":{"source_path":"/fonts/CoolFonts","target_path":"/svc/fuchsia.fonts.Provider"}}],"exposes":[{"directory":{"source":{"myself":{}},"source_path":"/volumes/blobfs","target_path":"/volumes/blobfs"}}],"offers":[{"service":{"source":{"child":{"name":"logger"}},"source_path":"/svc/fuchsia.logger.Log","targets":[{"target_path":"/svc/fuchsia.logger.Log","child_name":"netstack"}]}}],"children":[{"name":"logger","uri":"fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm","startup":"lazy"},{"name":"netstack","uri":"fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm","startup":"lazy"}],"facets":{"author":"Fuchsia","year":2018}} \ No newline at end of file +{"program":{"binary":"bin/example"},"uses":[{"service":{"source_path":"/fonts/CoolFonts","target_path":"/svc/fuchsia.fonts.Provider"}}],"exposes":[{"directory":{"source":{"myself":{}},"source_path":"/volumes/blobfs","target_path":"/volumes/blobfs"}}],"offers":[{"service":{"source":{"child":{"name":"logger"}},"source_path":"/svc/fuchsia.logger.Log","targets":[{"target_path":"/svc/fuchsia.logger.Log","child_name":"netstack"}]}}],"children":[{"name":"logger","url":"fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm","startup":"lazy"},{"name":"netstack","url":"fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm","startup":"lazy"}],"facets":{"author":"Fuchsia","year":2018}} \ No newline at end of file diff --git a/garnet/bin/cmc/tests/integration_test.rs b/garnet/bin/cmc/tests/integration_test.rs index 7f1e3dc3397e30706778cd4888050b2aa52d49de..2ad7adfc203c3b6e63a6dfaece75361a116cd1d4 100644 --- a/garnet/bin/cmc/tests/integration_test.rs +++ b/garnet/bin/cmc/tests/integration_test.rs @@ -42,12 +42,12 @@ fn main() { let children = vec![ ChildDecl { name: Some("logger".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), startup: Some(StartupMode::Lazy), }, ChildDecl { name: Some("netstack".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), startup: Some(StartupMode::Lazy), }, ]; diff --git a/garnet/lib/rust/cm_fidl_translator/src/lib.rs b/garnet/lib/rust/cm_fidl_translator/src/lib.rs index 63d1a9d9f1ab691438be568578e9c23fd3de6ac1..18e1c1007a08f181f675f7a3599f041837158cab 100644 --- a/garnet/lib/rust/cm_fidl_translator/src/lib.rs +++ b/garnet/lib/rust/cm_fidl_translator/src/lib.rs @@ -172,7 +172,7 @@ impl CmInto<fsys::ChildDecl> for cm::Child { fn cm_into(self) -> Result<fsys::ChildDecl, Error> { Ok(fsys::ChildDecl { name: Some(self.name), - uri: Some(self.uri), + url: Some(self.url), startup: Some(startup_from_str(&self.startup)?), }) } @@ -504,7 +504,7 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" } ] @@ -527,7 +527,7 @@ mod tests { let children = vec![ fsys::ChildDecl{ name: Some("logger".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), startup: Some(fsys::StartupMode::Lazy), }, ]; @@ -592,12 +592,12 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy", }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", "startup": "eager", } ], @@ -644,12 +644,12 @@ mod tests { let children = vec![ fsys::ChildDecl{ name: Some("logger".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), startup: Some(fsys::StartupMode::Lazy), }, fsys::ChildDecl{ name: Some("netstack".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), startup: Some(fsys::StartupMode::Eager), }, ]; @@ -664,12 +664,12 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" }, { "name": "echo_server", - "uri": "fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm", + "url": "fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm", "startup": "eager" } ] @@ -678,12 +678,12 @@ mod tests { let children = vec![ fsys::ChildDecl{ name: Some("logger".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), startup: Some(fsys::StartupMode::Lazy), }, fsys::ChildDecl{ name: Some("echo_server".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/echo_server/stable#meta/echo_server.cm".to_string()), startup: Some(fsys::StartupMode::Eager), }, ]; @@ -772,12 +772,12 @@ mod tests { "children": [ { "name": "logger", - "uri": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", + "url": "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", "startup": "lazy" }, { "name": "netstack", - "uri": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", + "url": "fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm", "startup": "eager" } ], @@ -823,12 +823,12 @@ mod tests { let children = vec![ fsys::ChildDecl { name: Some("logger".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm".to_string()), startup: Some(fsys::StartupMode::Lazy), }, fsys::ChildDecl { name: Some("netstack".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), startup: Some(fsys::StartupMode::Eager), }, ]; diff --git a/garnet/lib/rust/cm_fidl_validator/src/lib.rs b/garnet/lib/rust/cm_fidl_validator/src/lib.rs index 02e34d7ed61cbb84d0932fb3bdd6ee969f227798..a4e66d5630efe4bd023ee5f52f46177a0b0065bd 100644 --- a/garnet/lib/rust/cm_fidl_validator/src/lib.rs +++ b/garnet/lib/rust/cm_fidl_validator/src/lib.rs @@ -14,10 +14,10 @@ use { lazy_static! { static ref PATH: Identifier = Identifier::new(r"^(/[^/]+)+$", 1024); static ref NAME: Identifier = Identifier::new(r"^[0-9a-z_\-\.]+$", 100); - static ref URI: Identifier = Identifier::new(r"^[0-9a-z\+\-\.]+://.+$", 4096); + static ref URL: Identifier = Identifier::new(r"^[0-9a-z\+\-\.]+://.+$", 4096); } -/// Enum type that can represent any error encountered during validation. +/// Enum type that can represent any error encountered durlng validation. #[derive(Debug)] pub enum Error { MissingField(String, String), @@ -83,7 +83,7 @@ impl fmt::Display for Error { } } -/// Represents a list of errors encountered during validation. +/// Represents a list of errors encountered durlng validation. #[derive(Debug)] pub struct ErrorList { errs: Vec<Error>, @@ -203,7 +203,7 @@ impl<'a> ValidationContext<'a> { self.errors.push(Error::duplicate_field("ChildDecl", "name", name)); } } - URI.check(child.uri.as_ref(), "ChildDecl", "uri", &mut self.errors); + URL.check(child.url.as_ref(), "ChildDecl", "url", &mut self.errors); if child.startup.is_none() { self.errors.push(Error::missing_field("ChildDecl", "startup")); } @@ -585,19 +585,19 @@ mod tests { result = Err(ErrorList::new(vec![Error::field_too_long("FooDecl", "foo")])), }, - // uri - test_identifier_uri_valid => { - identifier = &URI, + // url + test_identifier_url_valid => { + identifier = &URL, input = "my+awesome-scheme.2://abc123!@#$%.com", result = Ok(()), }, - test_identifier_uri_invalid => { - identifier = &URI, + test_identifier_url_invalid => { + identifier = &URL, input = "fuchsia-pkg://", result = Err(ErrorList::new(vec![Error::invalid_field("FooDecl", "foo")])), }, - test_identifier_uri_too_long => { - identifier = &URI, + test_identifier_url_too_long => { + identifier = &URL, input = &format!("fuchsia-pkg://{}", "a".repeat(4083)), result = Err(ErrorList::new(vec![Error::field_too_long("FooDecl", "foo")])), }, @@ -893,7 +893,7 @@ mod tests { decl.children = Some(vec![ ChildDecl{ name: Some("netstack".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), startup: Some(StartupMode::Lazy), }, ]); @@ -973,7 +973,7 @@ mod tests { ]); decl.children = Some(vec![ChildDecl{ name: Some("logger".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/logger#meta/logger.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/logger#meta/logger.cm".to_string()), startup: Some(StartupMode::Lazy), }]); decl @@ -1019,7 +1019,7 @@ mod tests { decl.children = Some(vec![ ChildDecl{ name: Some("netstack".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), + url: Some("fuchsia-pkg://fuchsia.com/netstack/stable#meta/netstack.cm".to_string()), startup: Some(StartupMode::Eager), }, ]); @@ -1069,14 +1069,14 @@ mod tests { let mut decl = new_component_decl(); decl.children = Some(vec![ChildDecl{ name: None, - uri: None, + url: None, startup: None, }]); decl }, result = Err(ErrorList::new(vec![ Error::missing_field("ChildDecl", "name"), - Error::missing_field("ChildDecl", "uri"), + Error::missing_field("ChildDecl", "url"), Error::missing_field("ChildDecl", "startup"), ])), }, @@ -1085,14 +1085,14 @@ mod tests { let mut decl = new_component_decl(); decl.children = Some(vec![ChildDecl{ name: Some("^bad".to_string()), - uri: Some("bad-scheme&://blah".to_string()), + url: Some("bad-scheme&://blah".to_string()), startup: Some(StartupMode::Lazy), }]); decl }, result = Err(ErrorList::new(vec![ Error::invalid_field("ChildDecl", "name"), - Error::invalid_field("ChildDecl", "uri"), + Error::invalid_field("ChildDecl", "url"), ])), }, test_validate_children_long_identifiers => { @@ -1100,14 +1100,14 @@ mod tests { let mut decl = new_component_decl(); decl.children = Some(vec![ChildDecl{ name: Some("a".repeat(1025)), - uri: Some(format!("fuchsia-pkg://{}", "a".repeat(4083))), + url: Some(format!("fuchsia-pkg://{}", "a".repeat(4083))), startup: Some(StartupMode::Lazy), }]); decl }, result = Err(ErrorList::new(vec![ Error::field_too_long("ChildDecl", "name"), - Error::field_too_long("ChildDecl", "uri"), + Error::field_too_long("ChildDecl", "url"), ])), }, } diff --git a/garnet/lib/rust/cm_json/cm_schema.json b/garnet/lib/rust/cm_json/cm_schema.json index dcb561e0b5d90dd39fad9fb590feacab79fdae10..363f11489cc2f7d463989b145773b838734c9d13 100644 --- a/garnet/lib/rust/cm_json/cm_schema.json +++ b/garnet/lib/rust/cm_json/cm_schema.json @@ -8,7 +8,7 @@ "minLength": 1, "maxLength": 1024 }, - "uri-clause": { + "url-clause": { "type": "string", "pattern": "^[0-9a-z+\\-\\.]+://.+$", "minLength": 1, @@ -304,7 +304,7 @@ "type": "object", "required": [ "name", - "uri", + "url", "startup" ], "properties": { @@ -312,8 +312,8 @@ "allOf": [{ "$ref": "#/definitions/name-clause" }], "title": "Child component name" }, - "uri": { - "allOf": [{ "$ref": "#/definitions/uri-clause" }], + "url": { + "allOf": [{ "$ref": "#/definitions/url-clause" }], "title": "Child component URI" }, "startup": { diff --git a/garnet/lib/rust/cm_json/cml_schema.json b/garnet/lib/rust/cm_json/cml_schema.json index beecf629a28037d39f9c2b56e4ef0a38f4e88dc6..e671279ab8da71a121a93ee1da98e5a36cd4d490 100644 --- a/garnet/lib/rust/cm_json/cml_schema.json +++ b/garnet/lib/rust/cm_json/cml_schema.json @@ -13,7 +13,7 @@ "minLength": 1, "maxLength": 1024 }, - "uri-clause": { + "url-clause": { "type": "string", "pattern": "^[0-9a-z+\\-\\.]+://.+$", "minLength": 1, @@ -266,7 +266,7 @@ "type": "object", "required": [ "name", - "uri" + "url" ], "properties": { "name": { @@ -278,10 +278,10 @@ "System-logger" ] }, - "uri": { + "url": { "title": "Child component URI", "description": "The URI that identifies the child component.", - "allOf": [{ "$ref": "#/definitions/uri-clause" }], + "allOf": [{ "$ref": "#/definitions/url-clause" }], "examples": [ "fuchsia-pkg://fuchsia.com/echo_server_cpp#meta/echo_server.cml" ] diff --git a/garnet/lib/rust/cm_json/src/cm.rs b/garnet/lib/rust/cm_json/src/cm.rs index c4928341804eafd857f12d2c76adc9f89769de93..8364b1d665fbe67552f36e0ad87be4a5bd5b56c8 100644 --- a/garnet/lib/rust/cm_json/src/cm.rs +++ b/garnet/lib/rust/cm_json/src/cm.rs @@ -25,7 +25,7 @@ pub struct Document { #[derive(Serialize, Deserialize, Debug)] pub struct Child { pub name: String, - pub uri: String, + pub url: String, pub startup: String, } diff --git a/garnet/lib/rust/cm_rust/src/lib.rs b/garnet/lib/rust/cm_rust/src/lib.rs index 1d067de8d384ce7fa29571207c8bea49c268dd45..680dff83ce954d585eec406b39044b0ef30c0670 100644 --- a/garnet/lib/rust/cm_rust/src/lib.rs +++ b/garnet/lib/rust/cm_rust/src/lib.rs @@ -312,7 +312,7 @@ fidl_into_struct!(OfferTarget, OfferTarget, fsys::OfferTarget, fsys::OfferTarget fidl_into_struct!(ChildDecl, ChildDecl, fsys::ChildDecl, fsys::ChildDecl, { name: String, - uri: String, + url: String, startup: fsys::StartupMode, }); @@ -824,13 +824,13 @@ mod tests { children: Some(vec![ fsys::ChildDecl { name: Some("netstack".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/netstack#meta/netstack.cm" + url: Some("fuchsia-pkg://fuchsia.com/netstack#meta/netstack.cm" .to_string()), startup: Some(fsys::StartupMode::Lazy), }, fsys::ChildDecl { name: Some("echo".to_string()), - uri: Some("fuchsia-pkg://fuchsia.com/echo#meta/echo.cm" + url: Some("fuchsia-pkg://fuchsia.com/echo#meta/echo.cm" .to_string()), startup: Some(fsys::StartupMode::Eager), }, @@ -898,12 +898,12 @@ mod tests { children: vec![ ChildDecl { name: "netstack".to_string(), - uri: "fuchsia-pkg://fuchsia.com/netstack#meta/netstack.cm".to_string(), + url: "fuchsia-pkg://fuchsia.com/netstack#meta/netstack.cm".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "echo".to_string(), - uri: "fuchsia-pkg://fuchsia.com/echo#meta/echo.cm".to_string(), + url: "fuchsia-pkg://fuchsia.com/echo#meta/echo.cm".to_string(), startup: fsys::StartupMode::Eager, }, ], diff --git a/sdk/fidl/fuchsia.sys2/constants.fidl b/sdk/fidl/fuchsia.sys2/constants.fidl index c19a1f33278d6a27a1abe9952c056a50e475a3f4..17d0b023ea4d91b481ab7a8a9c19f5202cf49c35 100644 --- a/sdk/fidl/fuchsia.sys2/constants.fidl +++ b/sdk/fidl/fuchsia.sys2/constants.fidl @@ -8,7 +8,7 @@ const uint32 MAX_FACET_NAME_LENGTH = 100; const uint32 MAX_CHILD_NAME_LENGTH = 100; const uint32 MAX_STORAGE_NAME_LENGTH = 100; const uint32 MAX_PATH_LENGTH = 1024; -const uint32 MAX_URI_LENGTH = 4096; +const uint32 MAX_URL_LENGTH = 4096; const uint32 MAX_MONIKER_LENGTH = 4096; // Error produced when a component terminates unexpected. diff --git a/sdk/fidl/fuchsia.sys2/decls/child_decl.fidl b/sdk/fidl/fuchsia.sys2/decls/child_decl.fidl index 750711e9c2735db44f2036b24e0aadcb12e08001..f6619a2455715291f77b98b5d6e4f59755132801 100644 --- a/sdk/fidl/fuchsia.sys2/decls/child_decl.fidl +++ b/sdk/fidl/fuchsia.sys2/decls/child_decl.fidl @@ -19,16 +19,16 @@ table ChildDecl { /// following characters: [a-z0-9-_.]. 1: string:MAX_CHILD_NAME_LENGTH name; - /// The child component's URI. + /// The child component's URL. /// - /// Must be non-empty and a well-formed URI. - 2: string:MAX_URI_LENGTH uri; + /// Must be non-empty and a well-formed URL. + 2: string:MAX_URL_LENGTH url; /// The startup mode for the component instance. 3: StartupMode startup; // TODO(CP-154): Provide a way to supply parameters to the child, possibly - // as command-line arguments, by URI, or maybe in some other way which is + // as command-line arguments, by URL, or maybe in some other way which is // orthogonal to other inputs to mitigate confused deputy issues. Perhaps // as a dictionary like we do for runners? }; diff --git a/sdk/fidl/fuchsia.sys2/runtime/component.fidl b/sdk/fidl/fuchsia.sys2/runtime/component.fidl index d3ef89a453e33f303996f98a648e35bdb60dd982..55fd94f7c71b58233461532c03bdf9e81c39ea7c 100644 --- a/sdk/fidl/fuchsia.sys2/runtime/component.fidl +++ b/sdk/fidl/fuchsia.sys2/runtime/component.fidl @@ -9,10 +9,10 @@ library fuchsia.sys2; // This object provides the component's declaration, access to its package's // content, and relevant metadata. table Component { - // The resolved URI of the component. - // This is the canonical URI obtained by the component resolver after + // The resolved URL of the component. + // This is the canonical URL obtained by the component resolver after // after following redirects and resolving relative paths. - 1: string resolved_uri; + 1: string resolved_url; // The component's declaration. // This information is typically obtained from the component's manifest @@ -25,7 +25,7 @@ table Component { // // This is null if the component is not represented as a package. // In that case, it is the runner's responsibility to load the component's - // resource from the |resolved_uri|. This mechanism is used for web + // resource from the |resolved_url|. This mechanism is used for web // applications. // // TODO(CP-154): It might be better to return a package loader interface diff --git a/sdk/fidl/fuchsia.sys2/runtime/component_resolver.fidl b/sdk/fidl/fuchsia.sys2/runtime/component_resolver.fidl index ebe5f1bfa9fc0321719a8e2e08ed5133bbcbe652..6d414d0b5ad0910d82586d117abdde9aab80833d 100644 --- a/sdk/fidl/fuchsia.sys2/runtime/component_resolver.fidl +++ b/sdk/fidl/fuchsia.sys2/runtime/component_resolver.fidl @@ -6,32 +6,32 @@ library fuchsia.sys2; using zx; -// An interface for resolving a URI to a component. +// An interface for resolving a URL to a component. // // This interface is implemented by components that provide support -// for loading components with a particular URI scheme. For example, +// for loading components with a particular URL scheme. For example, // the Fuchsia package component resolver exposes a service with this -// interface to resolve component URIs using the "fuchsia-pkg://" scheme. +// interface to resolve component URLs using the "fuchsia-pkg://" scheme. // -// To use a resolver to resolve URIs within your realm, register it +// To use a resolver to resolve URLs within your realm, register it // in your realm's manifest. (TODO: explain in more detail) // // Note: The component manager is the only intended direct client of this // interface. [Discoverable] protocol ComponentResolver { - // Resolves a component with the given URI. + // Resolves a component with the given URL. // - // |component_uri| is the unescaped URI of the component to resolve. + // |component_url| is the unescaped URL of the component to resolve. // // If successful, returns |ZX_OK| and information about the component // that was resolved. // // On failure, returns null |info| and... - // - |ZX_ERR_INVALID_ARGS|: The component's URI was malformed. + // - |ZX_ERR_INVALID_ARGS|: The component's URL was malformed. // - |ZX_ERR_NOT_FOUND|: The component does not exist. // - |ZX_ERR_UNAVAILABLE|: The resolver was unable to retrieve or parse // the component's resources. - Resolve(string component_uri) + Resolve(string component_url) -> (zx.status status, Component component); }; diff --git a/sdk/fidl/fuchsia.sys2/runtime/component_runner.fidl b/sdk/fidl/fuchsia.sys2/runtime/component_runner.fidl index 3a8cf600a152fed60d3deb73463c5ac736a3257c..4b34fe0cbfd130a0c7b798824910414f9f8e0c04 100644 --- a/sdk/fidl/fuchsia.sys2/runtime/component_runner.fidl +++ b/sdk/fidl/fuchsia.sys2/runtime/component_runner.fidl @@ -14,7 +14,7 @@ using fuchsia.io; // the Dart virtual machine exposes a service with this interface to run // Dart programs. // -// To specify the runner needed to run your component, set the "runner_uri" +// To specify the runner needed to run your component, set the "runner_url" // property in your component's manifest. // // Note: The component manager is the only intended direct client of this @@ -32,10 +32,10 @@ protocol ComponentRunner { // Parameters for starting a new component instance. table ComponentStartInfo { - // The resolved URI of the component. - // This is the canonical URI obtained by the component resolver after + // The resolved URL of the component. + // This is the canonical URL obtained by the component resolver after // after following redirects and resolving relative paths. - 1: string resolved_uri; + 1: string resolved_url; // The component's program declaration. // This information originates from |ComponentDecl.program|. diff --git a/sdk/fidl/fuchsia.sys2/runtime/package.fidl b/sdk/fidl/fuchsia.sys2/runtime/package.fidl index 5f1a6f25a26c0e478719bfabb927c97412a4d4c6..89026043cbbaada087fb3fc563a5fe1a76b0d7e2 100644 --- a/sdk/fidl/fuchsia.sys2/runtime/package.fidl +++ b/sdk/fidl/fuchsia.sys2/runtime/package.fidl @@ -10,8 +10,8 @@ using fuchsia.io; // // This object provides access to a package's content and relevant metadata. table Package { - // The URI of the package itself. - 1: string package_uri; + // The URL of the package itself. + 1: string package_url; // The package's content directory. 2: fuchsia.io.Directory package_dir; diff --git a/src/sys/component_manager/src/elf_runner/mod.rs b/src/sys/component_manager/src/elf_runner/mod.rs index 15f8f3d9a9d5a6a73308c1f0dc4d975c7322b730..0baa507d01910a9dbbf01c555fff9eb58efd819d 100644 --- a/src/sys/component_manager/src/elf_runner/mod.rs +++ b/src/sys/component_manager/src/elf_runner/mod.rs @@ -21,10 +21,10 @@ use { /// Runs components with ELF binaries. pub struct ElfRunner {} -fn get_resolved_uri(start_info: &fsys::ComponentStartInfo) -> Result<String, Error> { - match &start_info.resolved_uri { - Some(uri) => Ok(uri.to_string()), - _ => Err(err_msg("missing uri")), +fn get_resolved_url(start_info: &fsys::ComponentStartInfo) -> Result<String, Error> { + match &start_info.resolved_url { + Some(url) => Ok(url.to_string()), + _ => Err(err_msg("missing url")), } } @@ -81,20 +81,20 @@ fn handle_info_from_fd(fd: i32) -> Result<Option<fproc::HandleInfo>, Error> { } async fn load_launch_info( - uri: String, + url: String, start_info: fsys::ComponentStartInfo, launcher: &fproc::LauncherProxy, ) -> Result<fproc::LaunchInfo, Error> { let bin_path = - get_program_binary(&start_info).map_err(|e| RunnerError::invalid_args(uri.as_ref(), e))?; + get_program_binary(&start_info).map_err(|e| RunnerError::invalid_args(url.as_ref(), e))?; let bin_arg = &[String::from(bin_path.to_str().ok_or(err_msg("invalid binary path"))?)]; let args = get_program_args(&start_info)?; - let name = PathBuf::from(uri) + let name = PathBuf::from(url) .file_name() - .ok_or(err_msg("invalid uri"))? + .ok_or(err_msg("invalid url"))? .to_str() - .ok_or(err_msg("invalid uri"))? + .ok_or(err_msg("invalid url"))? .to_string(); // Make a non-Option namespace @@ -161,16 +161,16 @@ impl ElfRunner { } async fn start_async(&self, start_info: fsys::ComponentStartInfo) -> Result<(), RunnerError> { - let resolved_uri = - get_resolved_uri(&start_info).map_err(|e| RunnerError::invalid_args("", e))?; + let resolved_url = + get_resolved_url(&start_info).map_err(|e| RunnerError::invalid_args("", e))?; let launcher = connect_to_service::<fproc::LauncherMarker>() .context("failed to connect to launcher service") - .map_err(|e| RunnerError::component_load_error(resolved_uri.as_ref(), e))?; + .map_err(|e| RunnerError::component_load_error(resolved_url.as_ref(), e))?; // Load the component - let mut launch_info = await!(load_launch_info(resolved_uri.clone(), start_info, &launcher)) - .map_err(|e| RunnerError::component_load_error(resolved_uri.as_ref(), e))?; + let mut launch_info = await!(load_launch_info(resolved_url.clone(), start_info, &launcher)) + .map_err(|e| RunnerError::component_load_error(resolved_url.as_ref(), e))?; // Launch the component await!(async { @@ -180,7 +180,7 @@ impl ElfRunner { } Ok(()) }) - .map_err(|e| RunnerError::component_launch_error(resolved_uri, e))?; + .map_err(|e| RunnerError::component_launch_error(resolved_url, e))?; Ok(()) } @@ -218,7 +218,7 @@ mod tests { }; let start_info = fsys::ComponentStartInfo { - resolved_uri: Some( + resolved_url: Some( "fuchsia-pkg://fuchsia.com/hello_world_hippo#meta/hello_world.cm".to_string(), ), program: Some(fdata::Dictionary { @@ -248,7 +248,7 @@ mod tests { }), ns: None, outgoing_dir: None, - resolved_uri: None, + resolved_url: None, } } @@ -262,7 +262,7 @@ mod tests { program: Some(fdata::Dictionary { entries: vec![] }), ns: None, outgoing_dir: None, - resolved_uri: None, + resolved_url: None, }) .unwrap() ); diff --git a/src/sys/component_manager/src/fuchsia_boot_resolver.rs b/src/sys/component_manager/src/fuchsia_boot_resolver.rs index 0891669c4fecd5e10eee4c29708d3bc319a4cfa2..d3b8a421a0bfd023927f3ae94695a22804c95020 100644 --- a/src/sys/component_manager/src/fuchsia_boot_resolver.rs +++ b/src/sys/component_manager/src/fuchsia_boot_resolver.rs @@ -14,9 +14,9 @@ use { pub static SCHEME: &str = "fuchsia-boot"; -/// Resolves component URIs with the "fuchsia-boot" scheme. +/// Resolves component URLs with the "fuchsia-boot" scheme. /// -/// URI syntax: +/// URL syntax: /// - fuchsia-boot:///directory#meta/component.cm pub struct FuchsiaBootResolver {} @@ -27,35 +27,35 @@ impl FuchsiaBootResolver { async fn resolve_async<'a>( &'a self, - component_uri: &'a str, + component_url: &'a str, ) -> Result<fsys::Component, ResolverError> { - // Parse URI. - let uri = BootUri::parse(component_uri) - .map_err(|e| ResolverError::component_not_available(component_uri, e))?; - let res = uri.resource().ok_or(ResolverError::uri_missing_resource_error(component_uri))?; - let res_path = PathBuf::from(uri.path()).join(PathBuf::from(res)); + // Parse URL. + let url = BootUri::parse(component_url) + .map_err(|e| ResolverError::component_not_available(component_url, e))?; + let res = url.resource().ok_or(ResolverError::url_missing_resource_error(component_url))?; + let res_path = PathBuf::from(url.path()).join(PathBuf::from(res)); let res_path_str = - res_path.to_str().ok_or(ResolverError::uri_missing_resource_error(component_uri))?; + res_path.to_str().ok_or(ResolverError::url_missing_resource_error(component_url))?; // Read component manifest from resource into a component decl. let cm_file = io_util::open_file_in_namespace(&res_path_str) - .map_err(|e| ResolverError::component_not_available(component_uri, e))?; + .map_err(|e| ResolverError::component_not_available(component_url, e))?; let cm_str = await!(io_util::read_file(&cm_file)) - .map_err(|e| ResolverError::component_not_available(component_uri, e))?; + .map_err(|e| ResolverError::component_not_available(component_url, e))?; let component_decl = translate(&cm_str) - .map_err(|e| ResolverError::component_not_available(component_uri, e))?; + .map_err(|e| ResolverError::component_not_available(component_url, e))?; // Set up the fuchsia-boot path as the component's "package" namespace. - let package_path = uri.path(); + let package_path = url.path(); let path_proxy = io_util::open_directory_in_namespace(&package_path) - .map_err(|e| ResolverError::component_not_available(component_uri, e))?; + .map_err(|e| ResolverError::component_not_available(component_url, e))?; let package = fsys::Package { - package_uri: Some(uri.root_uri().to_string()), + package_url: Some(url.root_uri().to_string()), package_dir: Some(ClientEnd::new(path_proxy.into_channel().unwrap().into_zx_channel())), }; Ok(fsys::Component { - resolved_uri: Some(component_uri.to_string()), + resolved_url: Some(component_url.to_string()), decl: Some(component_decl), package: Some(package), }) @@ -65,9 +65,9 @@ impl FuchsiaBootResolver { impl Resolver for FuchsiaBootResolver { fn resolve<'a>( &'a self, - component_uri: &'a str, + component_url: &'a str, ) -> FutureObj<'a, Result<fsys::Component, ResolverError>> { - FutureObj::new(Box::new(self.resolve_async(component_uri))) + FutureObj::new(Box::new(self.resolve_async(component_url))) } } @@ -88,7 +88,7 @@ mod tests { .unwrap(); assert_eq!( "fuchsia-boot:///pkg#meta/component_manager_tests_hello_world.cm", - component.resolved_uri.unwrap() + component.resolved_url.unwrap() ); let program = fdata::Dictionary { entries: vec![fdata::Entry { @@ -106,7 +106,7 @@ mod tests { storage: None, }; assert_eq!(component_decl, component.decl.unwrap()); - assert_eq!("fuchsia-boot:///pkg", component.package.unwrap().package_uri.unwrap()); + assert_eq!("fuchsia-boot:///pkg", component.package.unwrap().package_url.unwrap()); }); } } diff --git a/src/sys/component_manager/src/fuchsia_pkg_resolver.rs b/src/sys/component_manager/src/fuchsia_pkg_resolver.rs index 6fa3022b1a7816bcebbdcbfd9a4b540a2a0d2484..d9eea389139328eddabc861bb5fe64328462b2cc 100644 --- a/src/sys/component_manager/src/fuchsia_pkg_resolver.rs +++ b/src/sys/component_manager/src/fuchsia_pkg_resolver.rs @@ -18,7 +18,7 @@ use { pub static SCHEME: &str = "fuchsia-pkg"; -/// Resolves component URIs with the "fuchsia-pkg" scheme. See the fuchsia_pkg_uri crate for URI +/// Resolves component URLs with the "fuchsia-pkg" scheme. See the fuchsia_pkg_uri crate for URL /// syntax. pub struct FuchsiaPkgResolver { pkg_resolver: PackageResolverProxy, @@ -31,33 +31,33 @@ impl FuchsiaPkgResolver { async fn resolve_async<'a>( &'a self, - component_uri: &'a str, + component_url: &'a str, ) -> Result<fsys::Component, ResolverError> { - // Parse URI. - let fuchsia_pkg_uri = PkgUri::parse(component_uri) - .map_err(|e| ResolverError::uri_parse_error(component_uri, e))?; + // Parse URL. + let fuchsia_pkg_uri = PkgUri::parse(component_url) + .map_err(|e| ResolverError::url_parse_error(component_url, e))?; fuchsia_pkg_uri .resource() - .ok_or(ResolverError::uri_missing_resource_error(component_uri))?; - let package_uri = fuchsia_pkg_uri.root_uri().to_string(); + .ok_or(ResolverError::url_missing_resource_error(component_url))?; + let package_url = fuchsia_pkg_uri.root_uri().to_string(); let cm_path: PathBuf = fuchsia_pkg_uri.resource().unwrap().into(); // Resolve package. let (package_dir_c, package_dir_s) = zx::Channel::create() - .map_err(|e| ResolverError::component_not_available(component_uri, e))?; + .map_err(|e| ResolverError::component_not_available(component_url, e))?; let selectors: [&str; 0] = []; let mut update_policy = UpdatePolicy { fetch_if_absent: true, allow_old_versions: false }; let status = await!(self.pkg_resolver.resolve( - &package_uri, + &package_url, &mut selectors.iter().map(|s| *s), &mut update_policy, ServerEnd::new(package_dir_s) )) - .map_err(|e| ResolverError::component_not_available(component_uri, e))?; + .map_err(|e| ResolverError::component_not_available(component_url, e))?; let status = zx::Status::from_raw(status); if status != zx::Status::OK { return Err(ResolverError::component_not_available( - component_uri, + component_url, format_err!("{}", status), )); } @@ -67,18 +67,18 @@ impl FuchsiaPkgResolver { .into_proxy() .expect("failed to create directory proxy"); let file = io_util::open_file(&dir, &cm_path) - .map_err(|e| ResolverError::manifest_not_available(component_uri, e))?; + .map_err(|e| ResolverError::manifest_not_available(component_url, e))?; let cm_str = await!(io_util::read_file(&file)) - .map_err(|e| ResolverError::manifest_not_available(component_uri, e))?; + .map_err(|e| ResolverError::manifest_not_available(component_url, e))?; let component_decl = cm_fidl_translator::translate(&cm_str) - .map_err(|e| ResolverError::manifest_invalid(component_uri, e))?; + .map_err(|e| ResolverError::manifest_invalid(component_url, e))?; let package_dir = ClientEnd::new( dir.into_channel().expect("could not convert proxy to channel").into_zx_channel(), ); let package = - fsys::Package { package_uri: Some(package_uri), package_dir: Some(package_dir) }; + fsys::Package { package_url: Some(package_url), package_dir: Some(package_dir) }; Ok(fsys::Component { - resolved_uri: Some(component_uri.to_string()), + resolved_url: Some(component_url.to_string()), decl: Some(component_decl), package: Some(package), }) @@ -88,9 +88,9 @@ impl FuchsiaPkgResolver { impl Resolver for FuchsiaPkgResolver { fn resolve<'a>( &'a self, - component_uri: &'a str, + component_url: &'a str, ) -> FutureObj<'a, Result<fsys::Component, ResolverError>> { - FutureObj::new(Box::new(self.resolve_async(component_uri))) + FutureObj::new(Box::new(self.resolve_async(component_url))) } } @@ -135,11 +135,11 @@ mod tests { fn resolve( &self, - package_uri: &str, + package_url: &str, dir: fidl::endpoints::ServerEnd<fidl_fuchsia_io::DirectoryMarker>, ) -> Result<(), zx::Status> { - let package_uri = PkgUri::parse(&package_uri).expect("bad uri"); - if package_uri.name().unwrap() != "hello_world" { + let package_url = PkgUri::parse(&package_url).expect("bad url"); + if package_url.name().unwrap() != "hello_world" { return Err(zx::Status::NOT_FOUND); } let path = Path::new("/pkg"); @@ -151,15 +151,15 @@ mod tests { async fn resolve_test() { let pkg_resolver = MockPackageResolver::start(); let resolver = FuchsiaPkgResolver::new(pkg_resolver); - let uri = "fuchsia-pkg://fuchsia.com/hello_world#\ + let url = "fuchsia-pkg://fuchsia.com/hello_world#\ meta/component_manager_tests_hello_world.cm"; - let component = await!(resolver.resolve_async(uri)).expect("resolve failed"); + let component = await!(resolver.resolve_async(url)).expect("resolve failed"); // Check that both the returned component manifest and the component manifest in // the returned package dir match the expected value. This also tests that // the resolver returned the right package dir. - let fsys::Component { resolved_uri, decl, package } = component; - assert_eq!(resolved_uri.unwrap(), uri); + let fsys::Component { resolved_url, decl, package } = component; + assert_eq!(resolved_url.unwrap(), url); let program = fdata::Dictionary { entries: vec![fdata::Entry { key: "binary".to_string(), @@ -177,8 +177,8 @@ mod tests { }; assert_eq!(decl.unwrap(), expected_decl); - let fsys::Package { package_uri, package_dir } = package.unwrap(); - assert_eq!(package_uri.unwrap(), "fuchsia-pkg://fuchsia.com/hello_world"); + let fsys::Package { package_url, package_dir } = package.unwrap(); + assert_eq!(package_url.unwrap(), "fuchsia-pkg://fuchsia.com/hello_world"); let dir_proxy = package_dir.unwrap().into_proxy().unwrap(); let path = PathBuf::from("meta/component_manager_tests_hello_world.cm"); let file_proxy = io_util::open_file(&dir_proxy, &path).expect("could not open cm"); @@ -190,12 +190,12 @@ mod tests { } macro_rules! test_resolve_error { - ($resolver:ident, $uri:expr, $resolver_error_expected:ident) => { - let uri = $uri; - let res = await!($resolver.resolve_async(uri)); + ($resolver:ident, $url:expr, $resolver_error_expected:ident) => { + let url = $url; + let res = await!($resolver.resolve_async(url)); match res.err().expect("unexpected success") { - ResolverError::$resolver_error_expected { uri: u, .. } => { - assert_eq!(u, uri); + ResolverError::$resolver_error_expected { url: u, .. } => { + assert_eq!(u, url); } e => panic!("unexpected error {:?}", e), } @@ -209,12 +209,12 @@ mod tests { test_resolve_error!( resolver, "fuchsia-pkg:///hello_world#meta/component_manager_tests_hello_world.cm", - UriParseError + UrlParseError ); test_resolve_error!( resolver, "fuchsia-pkg://fuchsia.com/hello_world", - UriMissingResourceError + UrlMissingResourceError ); test_resolve_error!( resolver, diff --git a/src/sys/component_manager/src/main.rs b/src/sys/component_manager/src/main.rs index c45c7300e6d4c74a35c425c50198ce49755a4700..11b481a737a7bd737092244cb6245e7e209b15e1 100644 --- a/src/sys/component_manager/src/main.rs +++ b/src/sys/component_manager/src/main.rs @@ -23,16 +23,16 @@ use { const NUM_THREADS: usize = 2; struct Opt { - pub root_component_uri: String, + pub root_component_url: String, } fn parse_args() -> Result<Opt, Error> { let mut args: Vec<String> = env::args().collect(); if args.len() != 2 { - println!("Usage: {} <root-component-uri>", &args[0]); + println!("Usage: {} <root-component-url>", &args[0]); return Err(failure::err_msg("Invalid arguments")); } - Ok(Opt { root_component_uri: args.remove(1) }) + Ok(Opt { root_component_url: args.remove(1) }) } fn main() -> Result<(), Error> { @@ -45,7 +45,7 @@ fn main() -> Result<(), Error> { let resolver_registry = startup::available_resolvers()?; let params = ModelParams { - root_component_uri: opt.root_component_uri, + root_component_url: opt.root_component_url, root_resolver_registry: resolver_registry, root_default_runner: Box::new(ElfRunner::new()), }; diff --git a/src/sys/component_manager/src/model/component.rs b/src/sys/component_manager/src/model/component.rs index 685e762dbd4a5523afc1cf8532070d161ea9e587..be94955fb9db5fcdd6fae64b9495ce37df4d9386 100644 --- a/src/sys/component_manager/src/model/component.rs +++ b/src/sys/component_manager/src/model/component.rs @@ -20,7 +20,7 @@ type ChildRealmMap = HashMap<ChildMoniker, Arc<Realm>>; /// The realm's properties influence the runtime behavior of the subtree of component instances /// that it contains, including component resolution, execution, and service discovery. pub struct Realm { - /// The registry for resolving component URIs within the realm. + /// The registry for resolving component URLs within the realm. pub resolver_registry: Arc<ResolverRegistry>, /// The default runner (nominally runs ELF binaries) for executing components /// within the realm that do not explicitly specify a runner. @@ -37,7 +37,7 @@ impl Realm { pub async fn resolve_decl(&self) -> Result<(), ModelError> { let mut state = await!(self.instance.state.lock()); if state.decl.is_none() { - let component = await!(self.resolver_registry.resolve(&self.instance.component_uri))?; + let component = await!(self.resolver_registry.resolve(&self.instance.component_url))?; state.populate_decl(component.decl, &self)?; } Ok(()) @@ -53,7 +53,7 @@ impl Realm { default_runner: self.default_runner.clone(), abs_moniker: abs_moniker, instance: Instance { - component_uri: child.uri.clone(), + component_url: child.url.clone(), startup: child.startup, state: Mutex::new(InstanceState { execution: None, @@ -70,7 +70,7 @@ impl Realm { impl InstanceState { /// Populates the component declaration of this realm's Instance with `decl`, if not already - /// populated. `uri` should be the URI for this component, and is used in error generation. + /// populated. `url` should be the URL for this component, and is used in error generation. pub fn populate_decl( &mut self, decl: Option<fsys::ComponentDecl>, @@ -81,7 +81,7 @@ impl InstanceState { return Err(ModelError::ComponentInvalid); } let decl = decl.unwrap().try_into().map_err(|e| { - ModelError::manifest_invalid(realm.instance.component_uri.clone(), e) + ModelError::manifest_invalid(realm.instance.component_url.clone(), e) })?; self.child_realms = Some(realm.make_child_realms(&decl)); self.decl = Some(decl); @@ -92,8 +92,8 @@ impl InstanceState { /// An instance of a component. pub struct Instance { - /// The component's URI. - pub component_uri: String, + /// The component's URL. + pub component_url: String, /// The mode of startup (lazy or eager). pub startup: fsys::StartupMode, /// The component's mutable state. @@ -113,21 +113,21 @@ pub struct InstanceState { /// The execution state for a component instance that has started running. // TODO: Hold the component instance's controller. pub struct Execution { - pub resolved_uri: String, + pub resolved_url: String, pub namespace: IncomingNamespace, pub outgoing_dir: DirectoryProxy, } impl Execution { pub fn start_from( - resolved_uri: Option<String>, + resolved_url: Option<String>, namespace: IncomingNamespace, outgoing_dir: DirectoryProxy, ) -> Result<Self, ModelError> { - if resolved_uri.is_none() { + if resolved_url.is_none() { return Err(ModelError::ComponentInvalid); } - let uri = resolved_uri.unwrap(); - Ok(Execution { resolved_uri: uri, namespace, outgoing_dir }) + let url = resolved_url.unwrap(); + Ok(Execution { resolved_url: url, namespace, outgoing_dir }) } } diff --git a/src/sys/component_manager/src/model/error.rs b/src/sys/component_manager/src/model/error.rs index f408c1c8bb0d65a5debaec68ba0c79b082f2a826..b63b923c6bcdaf89e7eca4327c737dc3f35f91f5 100644 --- a/src/sys/component_manager/src/model/error.rs +++ b/src/sys/component_manager/src/model/error.rs @@ -16,7 +16,7 @@ pub enum ModelError { ComponentInvalid, #[fail(display = "component manifest invalid")] ManifestInvalid { - uri: String, + url: String, #[fail(cause)] err: Error, }, @@ -51,8 +51,8 @@ impl ModelError { ModelError::NamespaceCreationFailed { err: err.into() } } - pub fn manifest_invalid(uri: impl Into<String>, err: impl Into<Error>) -> ModelError { - ModelError::ManifestInvalid { uri: uri.into(), err: err.into() } + pub fn manifest_invalid(url: impl Into<String>, err: impl Into<Error>) -> ModelError { + ModelError::ManifestInvalid { url: url.into(), err: err.into() } } pub fn capability_discovery_error(err: impl Into<Error>) -> ModelError { diff --git a/src/sys/component_manager/src/model/model.rs b/src/sys/component_manager/src/model/model.rs index 6eb1e855ee2ca18ef99e85f8379d1ad4e0016358..74cd95f6f333561329c9ba00b4e09721d466f66e 100644 --- a/src/sys/component_manager/src/model/model.rs +++ b/src/sys/component_manager/src/model/model.rs @@ -20,8 +20,8 @@ use { /// Parameters for initializing a component model, particularly the root of the component /// instance tree. pub struct ModelParams { - /// The URI of the root component. - pub root_component_uri: String, + /// The URL of the root component. + pub root_component_url: String, /// The component resolver registry used in the root realm. /// In particular, it will be used to resolve the root component itself. pub root_resolver_registry: ResolverRegistry, @@ -51,7 +51,7 @@ impl Model { default_runner: Arc::new(params.root_default_runner), abs_moniker: AbsoluteMoniker::root(), instance: Instance { - component_uri: params.root_component_uri, + component_url: params.root_component_url, // Started by main(). startup: fsys::StartupMode::Lazy, state: Mutex::new(InstanceState { @@ -142,7 +142,7 @@ impl Model { Some(_) => {} None => { let component = - await!(realm.resolver_registry.resolve(&realm.instance.component_uri))?; + await!(realm.resolver_registry.resolve(&realm.instance.component_url))?; state.populate_decl(component.decl, &*realm)?; let decl = state.decl.as_ref().unwrap(); if decl.program.is_some() { @@ -151,7 +151,7 @@ impl Model { let mut namespace = IncomingNamespace::new(component.package)?; let ns = await!(namespace.populate(self.clone(), &realm.abs_moniker, decl))?; let execution = Execution::start_from( - component.resolved_uri, + component.resolved_url, namespace, DirectoryProxy::from_channel( fasync::Channel::from_channel(outgoing_dir_client).unwrap(), @@ -159,7 +159,7 @@ impl Model { )?; let start_info = fsys::ComponentStartInfo { - resolved_uri: Some(execution.resolved_uri.clone()), + resolved_url: Some(execution.resolved_url.clone()), program: data::clone_option_dictionary(&decl.program), ns: Some(ns), outgoing_dir: Some(ServerEnd::new(outgoing_dir_server)), diff --git a/src/sys/component_manager/src/model/resolver.rs b/src/sys/component_manager/src/model/resolver.rs index 9022bd4aec47db96a8842beefea0ff0d471b1ecf..1a90233b1f63a5779e8a5c058efd5fa60bf6c2c1 100644 --- a/src/sys/component_manager/src/model/resolver.rs +++ b/src/sys/component_manager/src/model/resolver.rs @@ -11,17 +11,17 @@ use { url::Url, }; -/// Resolves a component URI to its content. +/// Resolves a component URL to its content. /// TODO: Consider defining an internal representation for `fsys::Component` so as to /// further isolate the `Model` from FIDL interfacting concerns. pub trait Resolver { fn resolve<'a>( &'a self, - component_uri: &'a str, + component_url: &'a str, ) -> FutureObj<'a, Result<fsys::Component, ResolverError>>; } -/// Resolves a component URI using a resolver selected based on the URI's scheme. +/// Resolves a component URL using a resolver selected based on the URL's scheme. pub struct ResolverRegistry { resolvers: HashMap<String, Box<dyn Resolver + Send + Sync + 'static>>, } @@ -43,18 +43,18 @@ impl ResolverRegistry { impl Resolver for ResolverRegistry { fn resolve<'a>( &'a self, - component_uri: &'a str, + component_url: &'a str, ) -> FutureObj<'a, Result<fsys::Component, ResolverError>> { - match Url::parse(component_uri) { - Ok(parsed_uri) => { - if let Some(ref resolver) = self.resolvers.get(parsed_uri.scheme()) { - resolver.resolve(component_uri) + match Url::parse(component_url) { + Ok(parsed_url) => { + if let Some(ref resolver) = self.resolvers.get(parsed_url.scheme()) { + resolver.resolve(component_url) } else { FutureObj::new(Box::new(future::err(ResolverError::SchemeNotRegistered))) } } - Err(e) => FutureObj::new(Box::new(future::err(ResolverError::uri_parse_error( - component_uri, + Err(e) => FutureObj::new(Box::new(future::err(ResolverError::url_parse_error( + component_url, e, )))), } @@ -64,55 +64,55 @@ impl Resolver for ResolverRegistry { /// Errors produced by `Resolver`. #[derive(Debug, Fail)] pub enum ResolverError { - #[fail(display = "component not available with uri \"{}\": {}", uri, err)] + #[fail(display = "component not available with url \"{}\": {}", url, err)] ComponentNotAvailable { - uri: String, + url: String, #[fail(cause)] err: Error, }, - #[fail(display = "component manifest not available for uri \"{}\": {}", uri, err)] + #[fail(display = "component manifest not available for url \"{}\": {}", url, err)] ManifestNotAvailable { - uri: String, + url: String, #[fail(cause)] err: Error, }, - #[fail(display = "component manifest invalid for uri \"{}\": {}", uri, err)] + #[fail(display = "component manifest invalid for url \"{}\": {}", url, err)] ManifestInvalid { - uri: String, + url: String, #[fail(cause)] err: Error, }, #[fail(display = "scheme not registered")] SchemeNotRegistered, - #[fail(display = "failed to parse uri \"{}\": {}", uri, err)] - UriParseError { - uri: String, + #[fail(display = "failed to parse url \"{}\": {}", url, err)] + UrlParseError { + url: String, #[fail(cause)] err: Error, }, - #[fail(display = "uri missing resource \"{}\"", uri)] - UriMissingResourceError { uri: String }, + #[fail(display = "url missing resource \"{}\"", url)] + UrlMissingResourceError { url: String }, } impl ResolverError { - pub fn component_not_available(uri: impl Into<String>, err: impl Into<Error>) -> ResolverError { - ResolverError::ComponentNotAvailable { uri: uri.into(), err: err.into() } + pub fn component_not_available(url: impl Into<String>, err: impl Into<Error>) -> ResolverError { + ResolverError::ComponentNotAvailable { url: url.into(), err: err.into() } } - pub fn manifest_not_available(uri: impl Into<String>, err: impl Into<Error>) -> ResolverError { - ResolverError::ManifestNotAvailable { uri: uri.into(), err: err.into() } + pub fn manifest_not_available(url: impl Into<String>, err: impl Into<Error>) -> ResolverError { + ResolverError::ManifestNotAvailable { url: url.into(), err: err.into() } } - pub fn manifest_invalid(uri: impl Into<String>, err: impl Into<Error>) -> ResolverError { - ResolverError::ManifestInvalid { uri: uri.into(), err: err.into() } + pub fn manifest_invalid(url: impl Into<String>, err: impl Into<Error>) -> ResolverError { + ResolverError::ManifestInvalid { url: url.into(), err: err.into() } } - pub fn uri_parse_error(uri: impl Into<String>, err: impl Into<Error>) -> ResolverError { - ResolverError::UriParseError { uri: uri.into(), err: err.into() } + pub fn url_parse_error(url: impl Into<String>, err: impl Into<Error>) -> ResolverError { + ResolverError::UrlParseError { url: url.into(), err: err.into() } } - pub fn uri_missing_resource_error(uri: impl Into<String>) -> ResolverError { - ResolverError::UriMissingResourceError { uri: uri.into() } + pub fn url_missing_resource_error(url: impl Into<String>) -> ResolverError { + ResolverError::UrlMissingResourceError { url: url.into() } } } @@ -121,18 +121,18 @@ mod tests { use {super::*, failure::format_err}; struct MockOkResolver { - pub expected_uri: String, - pub resolved_uri: String, + pub expected_url: String, + pub resolved_url: String, } impl Resolver for MockOkResolver { fn resolve( &self, - component_uri: &str, + component_url: &str, ) -> FutureObj<Result<fsys::Component, ResolverError>> { - assert_eq!(self.expected_uri, component_uri); + assert_eq!(self.expected_url, component_url); FutureObj::new(Box::new(future::ok(fsys::Component { - resolved_uri: Some(self.resolved_uri.clone()), + resolved_url: Some(self.resolved_url.clone()), decl: Some(fsys::ComponentDecl { program: None, uses: None, @@ -148,17 +148,17 @@ mod tests { } struct MockErrorResolver { - pub expected_uri: String, + pub expected_url: String, pub error: Box<dyn Fn(&str) -> ResolverError + Send + Sync + 'static>, } impl Resolver for MockErrorResolver { fn resolve( &self, - component_uri: &str, + component_url: &str, ) -> FutureObj<Result<fsys::Component, ResolverError>> { - assert_eq!(self.expected_uri, component_uri); - FutureObj::new(Box::new(future::err((self.error)(component_uri)))) + assert_eq!(self.expected_url, component_url); + FutureObj::new(Box::new(future::err((self.error)(component_url)))) } } @@ -168,30 +168,30 @@ mod tests { registry.register( "foo".to_string(), Box::new(MockOkResolver { - expected_uri: "foo://uri".to_string(), - resolved_uri: "foo://resolved".to_string(), + expected_url: "foo://url".to_string(), + resolved_url: "foo://resolved".to_string(), }), ); registry.register( "bar".to_string(), Box::new(MockErrorResolver { - expected_uri: "bar://uri".to_string(), - error: Box::new(|uri| { - ResolverError::component_not_available(uri, format_err!("not available")) + expected_url: "bar://url".to_string(), + error: Box::new(|url| { + ResolverError::component_not_available(url, format_err!("not available")) }), }), ); // Resolve known scheme that returns success. - let component = await!(registry.resolve("foo://uri")).unwrap(); - assert_eq!("foo://resolved", component.resolved_uri.unwrap()); + let component = await!(registry.resolve("foo://url")).unwrap(); + assert_eq!("foo://resolved", component.resolved_url.unwrap()); // Resolve a different scheme that produces an error. let expected_res: Result<fsys::Component, ResolverError> = - Err(ResolverError::component_not_available("bar://uri", format_err!("not available"))); + Err(ResolverError::component_not_available("bar://url", format_err!("not available"))); assert_eq!( format!("{:?}", expected_res), - format!("{:?}", await!(registry.resolve("bar://uri"))) + format!("{:?}", await!(registry.resolve("bar://url"))) ); // Resolve an unknown scheme @@ -199,12 +199,12 @@ mod tests { Err(ResolverError::SchemeNotRegistered); assert_eq!( format!("{:?}", expected_res), - format!("{:?}", await!(registry.resolve("unknown://uri"))), + format!("{:?}", await!(registry.resolve("unknown://url"))), ); // Resolve an URL lacking a scheme. let expected_res: Result<fsys::Component, ResolverError> = - Err(ResolverError::uri_parse_error("xxx", url::ParseError::RelativeUrlWithoutBase)); + Err(ResolverError::url_parse_error("xxx", url::ParseError::RelativeUrlWithoutBase)); assert_eq!(format!("{:?}", expected_res), format!("{:?}", await!(registry.resolve("xxx"))),); } } diff --git a/src/sys/component_manager/src/model/runner.rs b/src/sys/component_manager/src/model/runner.rs index 6b2a8a8fd460c21774fce270447df0f9c6e33db1..8d8ff98600ee732514f184c6db14c6fe8c6f9ab4 100644 --- a/src/sys/component_manager/src/model/runner.rs +++ b/src/sys/component_manager/src/model/runner.rs @@ -21,36 +21,36 @@ pub trait Runner { /// Errors produced by `Runner`. #[derive(Debug, Fail)] pub enum RunnerError { - #[fail(display = "invalid arguments provided for component with uri \"{}\": {}", uri, err)] + #[fail(display = "invalid arguments provided for component with url \"{}\": {}", url, err)] InvalidArgs { - uri: String, + url: String, #[fail(cause)] err: Error, }, - #[fail(display = "unable to load component with uri \"{}\": {}", uri, err)] + #[fail(display = "unable to load component with url \"{}\": {}", url, err)] ComponentLoadError { - uri: String, + url: String, #[fail(cause)] err: Error, }, - #[fail(display = "failed to launch component with uri \"{}\": {}", uri, err)] + #[fail(display = "failed to launch component with url \"{}\": {}", url, err)] ComponentLaunchError { - uri: String, + url: String, #[fail(cause)] err: Error, }, } impl RunnerError { - pub fn invalid_args(uri: impl Into<String>, err: impl Into<Error>) -> RunnerError { - RunnerError::InvalidArgs { uri: uri.into(), err: err.into() } + pub fn invalid_args(url: impl Into<String>, err: impl Into<Error>) -> RunnerError { + RunnerError::InvalidArgs { url: url.into(), err: err.into() } } - pub fn component_load_error(uri: impl Into<String>, err: impl Into<Error>) -> RunnerError { - RunnerError::ComponentLoadError { uri: uri.into(), err: err.into() } + pub fn component_load_error(url: impl Into<String>, err: impl Into<Error>) -> RunnerError { + RunnerError::ComponentLoadError { url: url.into(), err: err.into() } } - pub fn component_launch_error(uri: impl Into<String>, err: impl Into<Error>) -> RunnerError { - RunnerError::ComponentLaunchError { uri: uri.into(), err: err.into() } + pub fn component_launch_error(url: impl Into<String>, err: impl Into<Error>) -> RunnerError { + RunnerError::ComponentLaunchError { url: url.into(), err: err.into() } } } diff --git a/src/sys/component_manager/src/model/tests/binding.rs b/src/sys/component_manager/src/model/tests/binding.rs index d7a21a5498aad91035608b208b5a051f423ddbe9..f155d6bbd12cd1257eb998933bb64338371663d5 100644 --- a/src/sys/component_manager/src/model/tests/binding.rs +++ b/src/sys/component_manager/src/model/tests/binding.rs @@ -25,21 +25,21 @@ async fn get_child_realm<'a>(realm: &'a Realm, child: &'a str) -> Arc<Realm> { async fn bind_instance_root() { let mut resolver = ResolverRegistry::new(); let runner = MockRunner::new(); - let uris_run = runner.uris_run.clone(); + let urls_run = runner.urls_run.clone(); let mut mock_resolver = MockResolver::new(); mock_resolver.add_component("root", default_component_decl()); resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: "test:///root".to_string(), + root_component_url: "test:///root".to_string(), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); let res = await!(model.look_up_and_bind_instance(AbsoluteMoniker::root())); let expected_res: Result<(), ModelError> = Ok(()); assert_eq!(format!("{:?}", res), format!("{:?}", expected_res)); - let actual_uris = await!(uris_run.lock()); - let expected_uris = vec!["test:///root_resolved".to_string()]; - assert_eq!(*actual_uris, expected_uris); + let actual_urls = await!(urls_run.lock()); + let expected_urls = vec!["test:///root_resolved".to_string()]; + assert_eq!(*actual_urls, expected_urls); let actual_children = await!(get_children(&model.root_realm)); assert!(actual_children.is_empty()); } @@ -48,12 +48,12 @@ async fn bind_instance_root() { async fn bind_instance_root_non_existent() { let mut resolver = ResolverRegistry::new(); let runner = MockRunner::new(); - let uris_run = runner.uris_run.clone(); + let urls_run = runner.urls_run.clone(); let mut mock_resolver = MockResolver::new(); mock_resolver.add_component("root", default_component_decl()); resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: "test:///root".to_string(), + root_component_url: "test:///root".to_string(), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); @@ -65,16 +65,16 @@ async fn bind_instance_root_non_existent() { AbsoluteMoniker::new(vec![ChildMoniker::new("no-such-instance".to_string())]), )); assert_eq!(format!("{:?}", res), format!("{:?}", expected_res)); - let actual_uris = await!(uris_run.lock()); - let expected_uris: Vec<String> = vec![]; - assert_eq!(*actual_uris, expected_uris); + let actual_urls = await!(urls_run.lock()); + let expected_urls: Vec<String> = vec![]; + assert_eq!(*actual_urls, expected_urls); } #[fuchsia_async::run_singlethreaded(test)] async fn bind_instance_child() { let mut resolver = ResolverRegistry::new(); let runner = MockRunner::new(); - let uris_run = runner.uris_run.clone(); + let urls_run = runner.urls_run.clone(); let mut mock_resolver = MockResolver::new(); mock_resolver.add_component( "root", @@ -82,12 +82,12 @@ async fn bind_instance_child() { children: vec![ ChildDecl { name: "system".to_string(), - uri: "test:///system".to_string(), + url: "test:///system".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "echo".to_string(), - uri: "test:///echo".to_string(), + url: "test:///echo".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -98,14 +98,14 @@ async fn bind_instance_child() { mock_resolver.add_component("echo", default_component_decl()); resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: "test:///root".to_string(), + root_component_url: "test:///root".to_string(), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); // bind to system assert!(await!(model.look_up_and_bind_instance(AbsoluteMoniker::new(vec!["system"]))).is_ok()); - let expected_uris = vec!["test:///system_resolved".to_string()]; - assert_eq!(*await!(uris_run.lock()), expected_uris); + let expected_urls = vec!["test:///system_resolved".to_string()]; + assert_eq!(*await!(urls_run.lock()), expected_urls); // Validate children. system is resolved, but not echo. let actual_children = await!(get_children(&*model.root_realm)); @@ -121,9 +121,9 @@ async fn bind_instance_child() { assert!(await!(echo_realm.instance.state.lock()).child_realms.is_none()); // bind to echo assert!(await!(model.look_up_and_bind_instance(AbsoluteMoniker::new(vec!["echo"]))).is_ok()); - let expected_uris = + let expected_urls = vec!["test:///system_resolved".to_string(), "test:///echo_resolved".to_string()]; - assert_eq!(*await!(uris_run.lock()), expected_uris); + assert_eq!(*await!(urls_run.lock()), expected_urls); // Validate children. Now echo is resolved. let echo_realm = await!(get_child_realm(&*model.root_realm, "echo")); @@ -135,14 +135,14 @@ async fn bind_instance_child() { async fn bind_instance_child_non_existent() { let mut resolver = ResolverRegistry::new(); let runner = MockRunner::new(); - let uris_run = runner.uris_run.clone(); + let urls_run = runner.urls_run.clone(); let mut mock_resolver = MockResolver::new(); mock_resolver.add_component( "root", ComponentDecl { children: vec![ChildDecl { name: "system".to_string(), - uri: "test:///system".to_string(), + url: "test:///system".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -151,23 +151,23 @@ async fn bind_instance_child_non_existent() { mock_resolver.add_component("system", default_component_decl()); resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: "test:///root".to_string(), + root_component_url: "test:///root".to_string(), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); // bind to system assert!(await!(model.look_up_and_bind_instance(AbsoluteMoniker::new(vec!["system"]))).is_ok()); - let expected_uris = vec!["test:///system_resolved".to_string()]; - assert_eq!(*await!(uris_run.lock()), expected_uris); + let expected_urls = vec!["test:///system_resolved".to_string()]; + assert_eq!(*await!(urls_run.lock()), expected_urls); // can't bind to logger: it does not exist let moniker = AbsoluteMoniker::new(vec!["system", "logger"]); let res = await!(model.look_up_and_bind_instance(moniker.clone())); let expected_res: Result<(), ModelError> = Err(ModelError::instance_not_found(moniker)); assert_eq!(format!("{:?}", res), format!("{:?}", expected_res)); - let actual_uris = await!(uris_run.lock()); - let expected_uris = vec!["test:///system_resolved".to_string()]; - assert_eq!(*actual_uris, expected_uris); + let actual_urls = await!(urls_run.lock()); + let expected_urls = vec!["test:///system_resolved".to_string()]; + assert_eq!(*actual_urls, expected_urls); } /// Create a hierarchy of children: @@ -185,14 +185,14 @@ async fn bind_instance_child_non_existent() { async fn bind_instance_eager_children() { let mut resolver = ResolverRegistry::new(); let runner = MockRunner::new(); - let uris_run = runner.uris_run.clone(); + let urls_run = runner.urls_run.clone(); let mut mock_resolver = MockResolver::new(); mock_resolver.add_component( "root", ComponentDecl { children: vec![ChildDecl { name: "a".to_string(), - uri: "test:///a".to_string(), + url: "test:///a".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -204,12 +204,12 @@ async fn bind_instance_eager_children() { children: vec![ ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Eager, }, ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Eager, }, ], @@ -222,7 +222,7 @@ async fn bind_instance_eager_children() { ComponentDecl { children: vec![ChildDecl { name: "d".to_string(), - uri: "test:///d".to_string(), + url: "test:///d".to_string(), startup: fsys::StartupMode::Eager, }], ..default_component_decl() @@ -233,7 +233,7 @@ async fn bind_instance_eager_children() { ComponentDecl { children: vec![ChildDecl { name: "e".to_string(), - uri: "test:///e".to_string(), + url: "test:///e".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -242,7 +242,7 @@ async fn bind_instance_eager_children() { mock_resolver.add_component("e", default_component_decl()); resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: "test:///root".to_string(), + root_component_url: "test:///root".to_string(), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); @@ -255,24 +255,24 @@ async fn bind_instance_eager_children() { ),]))); let expected_res: Result<(), ModelError> = Ok(()); assert_eq!(format!("{:?}", res), format!("{:?}", expected_res)); - let actual_uris = await!(uris_run.lock()); + let actual_urls = await!(urls_run.lock()); // Execution order of `b` and `c` is non-deterministic. - let expected_uris1 = vec![ + let expected_urls1 = vec![ "test:///a_resolved".to_string(), "test:///b_resolved".to_string(), "test:///c_resolved".to_string(), "test:///d_resolved".to_string(), ]; - let expected_uris2 = vec![ + let expected_urls2 = vec![ "test:///a_resolved".to_string(), "test:///c_resolved".to_string(), "test:///b_resolved".to_string(), "test:///d_resolved".to_string(), ]; assert!( - *actual_uris == expected_uris1 || *actual_uris == expected_uris2, - "uris_run failed to match: {:?}", - *actual_uris + *actual_urls == expected_urls1 || *actual_urls == expected_urls2, + "urls_run failed to match: {:?}", + *actual_urls ); } } @@ -282,14 +282,14 @@ async fn bind_instance_no_execute() { // Create a non-executable component with an eagerly-started child. let mut resolver = ResolverRegistry::new(); let runner = MockRunner::new(); - let uris_run = runner.uris_run.clone(); + let urls_run = runner.urls_run.clone(); let mut mock_resolver = MockResolver::new(); mock_resolver.add_component( "root", ComponentDecl { children: vec![ChildDecl { name: "a".to_string(), - uri: "test:///a".to_string(), + url: "test:///a".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -301,7 +301,7 @@ async fn bind_instance_no_execute() { program: None, children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Eager, }], ..default_component_decl() @@ -310,7 +310,7 @@ async fn bind_instance_no_execute() { mock_resolver.add_component("b", default_component_decl()); resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: "test:///root".to_string(), + root_component_url: "test:///root".to_string(), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); @@ -318,23 +318,23 @@ async fn bind_instance_no_execute() { // Bind to the parent component. The child should be started. However, the parent component // is non-executable so it is not run. assert!(await!(model.look_up_and_bind_instance(AbsoluteMoniker::new(vec!["a"]))).is_ok()); - let actual_uris = await!(uris_run.lock()); - let expected_uris = vec!["test:///b_resolved".to_string()]; - assert_eq!(*actual_uris, expected_uris); + let actual_urls = await!(urls_run.lock()); + let expected_urls = vec!["test:///b_resolved".to_string()]; + assert_eq!(*actual_urls, expected_urls); } #[fuchsia_async::run_singlethreaded(test)] async fn bind_instance_recursive_child() { let mut resolver = ResolverRegistry::new(); let runner = MockRunner::new(); - let uris_run = runner.uris_run.clone(); + let urls_run = runner.urls_run.clone(); let mut mock_resolver = MockResolver::new(); mock_resolver.add_component( "root", ComponentDecl { children: vec![ChildDecl { name: "system".to_string(), - uri: "test:///system".to_string(), + url: "test:///system".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -346,12 +346,12 @@ async fn bind_instance_recursive_child() { children: vec![ ChildDecl { name: "logger".to_string(), - uri: "test:///logger".to_string(), + url: "test:///logger".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "netstack".to_string(), - uri: "test:///netstack".to_string(), + url: "test:///netstack".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -362,7 +362,7 @@ async fn bind_instance_recursive_child() { mock_resolver.add_component("netstack", default_component_decl()); resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: "test:///root".to_string(), + root_component_url: "test:///root".to_string(), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); @@ -372,26 +372,26 @@ async fn bind_instance_recursive_child() { await!(model.look_up_and_bind_instance(AbsoluteMoniker::new(vec!["system", "logger"]))) .is_ok() ); - let expected_uris = vec!["test:///logger_resolved".to_string()]; - assert_eq!(*await!(uris_run.lock()), expected_uris); + let expected_urls = vec!["test:///logger_resolved".to_string()]; + assert_eq!(*await!(urls_run.lock()), expected_urls); // bind to netstack assert!(await!( model.look_up_and_bind_instance(AbsoluteMoniker::new(vec!["system", "netstack"])) ) .is_ok()); - let expected_uris = + let expected_urls = vec!["test:///logger_resolved".to_string(), "test:///netstack_resolved".to_string()]; - assert_eq!(*await!(uris_run.lock()), expected_uris); + assert_eq!(*await!(urls_run.lock()), expected_urls); // finally, bind to system assert!(await!(model.look_up_and_bind_instance(AbsoluteMoniker::new(vec!["system"]))).is_ok()); - let expected_uris = vec![ + let expected_urls = vec![ "test:///logger_resolved".to_string(), "test:///netstack_resolved".to_string(), "test:///system_resolved".to_string(), ]; - assert_eq!(*await!(uris_run.lock()), expected_uris); + assert_eq!(*await!(urls_run.lock()), expected_urls); // validate children let actual_children = await!(get_children(&*model.root_realm)); diff --git a/src/sys/component_manager/src/model/tests/mocks.rs b/src/sys/component_manager/src/model/tests/mocks.rs index 0d1dda3f3da2878ebe940f58ee0332c3fe7319a0..88c7139f6483bdf622f3eb053c1807f54d57f334 100644 --- a/src/sys/component_manager/src/model/tests/mocks.rs +++ b/src/sys/component_manager/src/model/tests/mocks.rs @@ -29,8 +29,8 @@ impl MockResolver { MockResolver { components: HashMap::new() } } - async fn resolve_async(&self, component_uri: String) -> Result<fsys::Component, ResolverError> { - let caps = NAME_RE.captures(&component_uri).unwrap(); + async fn resolve_async(&self, component_url: String) -> Result<fsys::Component, ResolverError> { + let caps = NAME_RE.captures(&component_url).unwrap(); let name = &caps[1]; let decl = self.components.get(name.clone()).ok_or( ResolverError::component_not_available(name, format_err!("not in the hashmap")), @@ -38,7 +38,7 @@ impl MockResolver { let fsys_decl = fsys::ComponentDecl::try_from(decl.clone()).expect("decl failed conversion"); Ok(fsys::Component { - resolved_uri: Some(format!("test:///{}_resolved", name)), + resolved_url: Some(format!("test:///{}_resolved", name)), decl: Some(fsys_decl), package: None, }) @@ -50,13 +50,13 @@ impl MockResolver { } impl Resolver for MockResolver { - fn resolve(&self, component_uri: &str) -> FutureObj<Result<fsys::Component, ResolverError>> { - FutureObj::new(Box::new(self.resolve_async(component_uri.to_string()))) + fn resolve(&self, component_url: &str) -> FutureObj<Result<fsys::Component, ResolverError>> { + FutureObj::new(Box::new(self.resolve_async(component_url.to_string()))) } } pub struct MockRunner { - pub uris_run: Arc<Mutex<Vec<String>>>, + pub urls_run: Arc<Mutex<Vec<String>>>, pub namespaces: Arc<Mutex<HashMap<String, fsys::ComponentNamespace>>>, pub host_fns: HashMap<String, Box<Fn(ServerEnd<DirectoryMarker>) + Send + Sync>>, } @@ -64,20 +64,20 @@ pub struct MockRunner { impl MockRunner { pub fn new() -> MockRunner { MockRunner { - uris_run: Arc::new(Mutex::new(vec![])), + urls_run: Arc::new(Mutex::new(vec![])), namespaces: Arc::new(Mutex::new(HashMap::new())), host_fns: HashMap::new(), } } async fn start_async(&self, start_info: fsys::ComponentStartInfo) -> Result<(), RunnerError> { - let resolved_uri = start_info.resolved_uri.unwrap(); - await!(self.uris_run.lock()).push(resolved_uri.clone()); - await!(self.namespaces.lock()).insert(resolved_uri.clone(), start_info.ns.unwrap()); + let resolved_url = start_info.resolved_url.unwrap(); + await!(self.urls_run.lock()).push(resolved_url.clone()); + await!(self.namespaces.lock()).insert(resolved_url.clone(), start_info.ns.unwrap()); // If no host_fn was provided, then start_info.outgoing_dir will be // automatically closed once it goes out of scope at the end of this // function. - let host_fn = self.host_fns.get(&resolved_uri); + let host_fn = self.host_fns.get(&resolved_url); if let Some(host_fn) = host_fn { host_fn(start_info.outgoing_dir.unwrap()); } diff --git a/src/sys/component_manager/src/model/tests/routing.rs b/src/sys/component_manager/src/model/tests/routing.rs index 2e2c52b514bd2c0949e3aed3edb3cb31c5efe626..12150976291166b8f781306fde458312d6f7670d 100644 --- a/src/sys/component_manager/src/model/tests/routing.rs +++ b/src/sys/component_manager/src/model/tests/routing.rs @@ -54,7 +54,7 @@ async fn use_from_parent() { ], children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -124,7 +124,7 @@ async fn use_from_grandparent() { ], children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -153,7 +153,7 @@ async fn use_from_grandparent() { ], children: vec![ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -202,7 +202,7 @@ async fn use_from_sibling_no_root() { ComponentDecl { children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -232,12 +232,12 @@ async fn use_from_sibling_no_root() { children: vec![ ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "d".to_string(), - uri: "test:///d".to_string(), + url: "test:///d".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -322,12 +322,12 @@ async fn use_from_sibling_root() { children: vec![ ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -415,12 +415,12 @@ async fn use_from_niece() { children: vec![ ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -444,7 +444,7 @@ async fn use_from_niece() { ], children: vec![ChildDecl { name: "d".to_string(), - uri: "test:///d".to_string(), + url: "test:///d".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -535,12 +535,12 @@ async fn use_kitchen_sink() { children: vec![ ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -577,12 +577,12 @@ async fn use_kitchen_sink() { children: vec![ ChildDecl { name: "d".to_string(), - uri: "test:///d".to_string(), + url: "test:///d".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "e".to_string(), - uri: "test:///e".to_string(), + url: "test:///e".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -614,12 +614,12 @@ async fn use_kitchen_sink() { children: vec![ ChildDecl { name: "f".to_string(), - uri: "test:///f".to_string(), + url: "test:///f".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "g".to_string(), - uri: "test:///g".to_string(), + url: "test:///g".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -680,7 +680,7 @@ async fn use_kitchen_sink() { }),], children: vec![ChildDecl { name: "h".to_string(), - uri: "test:///h".to_string(), + url: "test:///h".to_string(), startup: fsys::StartupMode::Lazy, },], ..default_component_decl() @@ -745,7 +745,7 @@ async fn use_from_component_manager_namespace() { ], children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -792,7 +792,7 @@ async fn use_not_offered() { program: None, children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() @@ -860,12 +860,12 @@ async fn use_offer_source_not_exposed() { children: vec![ ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }, ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, }, ], @@ -917,7 +917,7 @@ async fn use_offer_source_not_offered() { ComponentDecl { children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, },], ..default_component_decl() @@ -947,7 +947,7 @@ async fn use_offer_source_not_offered() { ], children: vec![ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, },], ..default_component_decl() @@ -998,7 +998,7 @@ async fn use_from_expose() { program: None, children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, },], ..default_component_decl() @@ -1019,7 +1019,7 @@ async fn use_from_expose() { ], children: vec![ChildDecl { name: "c".to_string(), - uri: "test:///c".to_string(), + url: "test:///c".to_string(), startup: fsys::StartupMode::Lazy, },], ..default_component_decl() @@ -1088,7 +1088,7 @@ async fn offer_from_non_executable() { ], children: vec![ChildDecl { name: "b".to_string(), - uri: "test:///b".to_string(), + url: "test:///b".to_string(), startup: fsys::StartupMode::Lazy, }], ..default_component_decl() diff --git a/src/sys/component_manager/src/model/tests/routing_test_helpers.rs b/src/sys/component_manager/src/model/tests/routing_test_helpers.rs index 84aa3426dae21ca1f18592d7b02a5443e584a5a4..513d5992d71928df6361363bad38914e6d8ec28a 100644 --- a/src/sys/component_manager/src/model/tests/routing_test_helpers.rs +++ b/src/sys/component_manager/src/model/tests/routing_test_helpers.rs @@ -46,14 +46,14 @@ pub fn default_component_decl() -> ComponentDecl { } } -/// Returns a cloned DirectoryProxy to the dir `dir_string` inside the namespace of `resolved_uri`. +/// Returns a cloned DirectoryProxy to the dir `dir_string` inside the namespace of `resolved_url`. pub async fn get_dir( dir_string: &str, - resolved_uri: String, + resolved_url: String, namespaces: Arc<Mutex<HashMap<String, fsys::ComponentNamespace>>>, ) -> DirectoryProxy { let mut ns_guard = await!(namespaces.lock()); - let ns = ns_guard.get_mut(&resolved_uri).unwrap(); + let ns = ns_guard.get_mut(&resolved_url).unwrap(); // Find the index of our directory in the namespace, and remove the directory and path. The // path is removed so that the paths/dirs aren't shuffled in the namespace. @@ -160,16 +160,16 @@ fn echo_server_fn(server_end: ServerEnd<NodeMarker>) { }); } -/// Looks up `resolved_uri` in the namespace, and attempts to read ${dir_path}/hippo. The file +/// Looks up `resolved_url` in the namespace, and attempts to read ${dir_path}/hippo. The file /// should contain the string "hippo". pub async fn read_data( path: CapabilityPath, - resolved_uri: String, + resolved_url: String, namespaces: Arc<Mutex<HashMap<String, fsys::ComponentNamespace>>>, should_succeed: bool, ) { let path = path.to_string(); - let dir_proxy = await!(get_dir(&path, resolved_uri, namespaces)); + let dir_proxy = await!(get_dir(&path, resolved_url, namespaces)); let file = PathBuf::from("hippo"); let file_proxy = io_util::open_file(&dir_proxy, &file).expect("failed to open file"); let res = await!(io_util::read_file(&file_proxy)); @@ -183,15 +183,15 @@ pub async fn read_data( } } -/// Looks up `resolved_uri` in the namespace, and attempts to use `path`. Expects the service +/// Looks up `resolved_url` in the namespace, and attempts to use `path`. Expects the service /// to be fidl.examples.echo.Echo. async fn call_svc( path: CapabilityPath, - resolved_uri: String, + resolved_url: String, namespaces: Arc<Mutex<HashMap<String, fsys::ComponentNamespace>>>, should_succeed: bool, ) { - let dir_proxy = await!(get_dir(&path.dirname, resolved_uri, namespaces)); + let dir_proxy = await!(get_dir(&path.dirname, resolved_url, namespaces)); let node_proxy = io_util::open_node(&dir_proxy, &PathBuf::from(path.basename), MODE_TYPE_SERVICE) .expect("failed to open echo service"); @@ -332,7 +332,7 @@ pub async fn run_routing_test<'a>(test: TestInputs<'a>) { } resolver.register("test".to_string(), Box::new(mock_resolver)); let model = Model::new(ModelParams { - root_component_uri: format!("test:///{}", test.root_component), + root_component_url: format!("test:///{}", test.root_component), root_resolver_registry: resolver, root_default_runner: Box::new(runner), }); diff --git a/src/sys/component_manager/tests/meta/echo_realm.cml b/src/sys/component_manager/tests/meta/echo_realm.cml index 4f4669173342e1150df641c62ede4ee19efe128d..a34b2e8a4e5bc97ea13adfd16a65c5fbb3f880f1 100644 --- a/src/sys/component_manager/tests/meta/echo_realm.cml +++ b/src/sys/component_manager/tests/meta/echo_realm.cml @@ -19,11 +19,11 @@ "children": [ { "name": "echo_server", - "uri": "fuchsia-pkg://fuchsia.com/routing_integration_test#meta/echo_server.cm", + "url": "fuchsia-pkg://fuchsia.com/routing_integration_test#meta/echo_server.cm", }, { "name": "echo_client", - "uri": "fuchsia-pkg://fuchsia.com/routing_integration_test#meta/echo_client.cm", + "url": "fuchsia-pkg://fuchsia.com/routing_integration_test#meta/echo_client.cm", "startup": "eager", }, ], diff --git a/src/sys/examples/topology/meta/echo_realm.cml b/src/sys/examples/topology/meta/echo_realm.cml index 4a7b5046c07c0be7d9fd519853e88bc9b39d8cb2..4cf49ea6f5399d296af7e909b661e9586c480060 100644 --- a/src/sys/examples/topology/meta/echo_realm.cml +++ b/src/sys/examples/topology/meta/echo_realm.cml @@ -17,11 +17,11 @@ "children": [ { "name": "echo_server", - "uri": "fuchsia-pkg://fuchsia.com/topology_example#meta/echo_server.cm", + "url": "fuchsia-pkg://fuchsia.com/topology_example#meta/echo_server.cm", }, { "name": "echo_client", - "uri": "fuchsia-pkg://fuchsia.com/topology_example#meta/echo_client.cm", + "url": "fuchsia-pkg://fuchsia.com/topology_example#meta/echo_client.cm", "startup": "eager", }, ],