diff --git a/framework/releases/head.mrb b/framework/releases/head.mrb index b90b21b17..b8ed78bac 100644 Binary files a/framework/releases/head.mrb and b/framework/releases/head.mrb differ diff --git a/framework/src/upgrade_fixtures/mod.rs b/framework/src/upgrade_fixtures/mod.rs index 76993f903..da6eae1b2 100644 --- a/framework/src/upgrade_fixtures/mod.rs +++ b/framework/src/upgrade_fixtures/mod.rs @@ -117,6 +117,13 @@ pub fn upgrade_fixtures() -> anyhow::Result<()> { let modules = vec!["move-stdlib".to_string()]; generate_fixtures(p, modules, false)?; + // for single step arbitrary/forced upgrades + // places the all_your_base in the move-stdlib dir + let p = fixture_path.join("upgrade-single-lib-force"); + std::fs::create_dir_all(&p)?; + let modules = vec!["libra-framework".to_string()]; + generate_fixtures(p, modules, true)?; + // for multi step upgrades // places the all_your_base in the libra_framework dir let p = fixture_path.join("upgrade-multi-lib"); @@ -126,7 +133,6 @@ pub fn upgrade_fixtures() -> anyhow::Result<()> { "vendor-stdlib".to_string(), "libra-framework".to_string(), ]; - generate_fixtures(p, modules, false)?; // generate fixtures with arbitrary release @@ -137,7 +143,6 @@ pub fn upgrade_fixtures() -> anyhow::Result<()> { "vendor-stdlib".to_string(), "libra-framework".to_string(), ]; - generate_fixtures(p, modules, true)?; Ok(()) diff --git a/tools/txs/tests/upgrade_compatible_from_mainnet.rs b/tools/txs/tests/upgrade_compatible_from_mainnet.rs index 232dd2a4b..4ba4d18f4 100644 --- a/tools/txs/tests/upgrade_compatible_from_mainnet.rs +++ b/tools/txs/tests/upgrade_compatible_from_mainnet.rs @@ -29,10 +29,24 @@ async fn smoke_upgrade_mainnet_compatible_multiple() { .await; } -/// do the same as above, but use the "arbitrary" upgrade policy to force an -/// upgrade. +/////// TEST ARBITRARY UPGRADES /////// +// do the same as above, but use the "arbitrary" upgrade policy to force an +// upgrade. +// +/// Force upgrade Libra #[tokio::test(flavor = "multi_thread", worker_threads = 1)] -async fn smoke_upgrade_mainnet_compatible_multiple_force() { +async fn smoke_upgrade_mainnet_force_libra() { + support::upgrade_multiple_impl( + "upgrade-single-lib-force", + vec!["1-libra-framework"], + ReleaseTarget::Mainnet, + ) + .await; +} + +/// Upgrade all modules +#[tokio::test(flavor = "multi_thread", worker_threads = 1)] +async fn smoke_upgrade_mainnet_force_multiple() { support::upgrade_multiple_impl( "upgrade-multi-lib-force", vec!["1-move-stdlib", "2-vendor-stdlib", "3-libra-framework"],