Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests that network seed always affects dna hash #2102

Merged
merged 14 commits into from
Mar 28, 2023

Conversation

maackle
Copy link
Member

@maackle maackle commented Mar 16, 2023

Summary

Fixes #2039

TODO:

  • CHANGELOG(s) updated with appropriate info
  • Just before pressing the merge button, ensure new entries to CHANGELOG(s) are still under the UNRELEASED heading

@maackle maackle changed the base branch from develop to dna-name-not-a-modifier March 16, 2023 23:57
Base automatically changed from dna-name-not-a-modifier to develop March 18, 2023 00:25
@maackle maackle force-pushed the network-seed-always-affects-dna-hash branch from f4a75c3 to 9d2950f Compare March 21, 2023 23:24
Comment on lines +198 to +201
if !matches!(
role.provisioning.clone().unwrap_or_default(),
CellProvisioning::CreateClone { .. } | CellProvisioning::UseExisting { .. }
) {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the fix

@@ -24,3 +24,8 @@ pub fn second_ref<A, B>(tup: &(A, B)) -> &B {
pub fn swap2<A, B>(tup: (A, B)) -> (B, A) {
(tup.1, tup.0)
}

/// Map an iterator into a vec of a new type
pub fn mapvec<'a, T: 'a, U>(it: impl Iterator<Item = &'a T>, f: impl FnMut(&'a T) -> U) -> Vec<U> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be map_vec?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is what it is :)

.install_app_bundle(InstallAppPayload {
agent_key: agent.clone(),
source: AppBundleSource::Bundle(bundle1),
installed_app_id: Some("no-seed".into()),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps seed-a and seed-b or something binary other than yes/no. This reads to me like "there is no seed" but the test is setting one

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the more comprehensive ignored test, I used "no seed", "seed A", and "seed B". But in this case, it really is about seed vs no seed, and in this case there is really no seed.

@maackle maackle enabled auto-merge (squash) March 28, 2023 16:29
@maackle maackle merged commit c50ffc9 into develop Mar 28, 2023
6 checks passed
@maackle maackle deleted the network-seed-always-affects-dna-hash branch March 28, 2023 16:34
maackle added a commit that referenced this pull request Apr 5, 2023
* Take `name` out of DnaDefHash

Fixes #2038

* Changelog

* Write passing test for reported bug #2039

* Add tests for paths -- still passes

* Extremely comprehensive test of network seed and location: still passes!

* Even more comprehensive test: still passes!

* Small fries, wip

* Added more cases; still passes

* Better debug

* Add regression test and fix the problem

* Changelog

* Update crates/holochain/src/conductor/tests/install_app_bundle.rs

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

---------

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>
maackle added a commit that referenced this pull request Apr 6, 2023
* Fix clone cell idempotency for enable/disable (#2093)

* Fix old tokio dep

* Failing test and fixes of clone cell enable/disable idempotency

* Changelog

* Update comment

* Differentate between CellMissing and CellDisabled, and other fixes (#2092)

* Fix old tokio dep

* Possible fix to intermittent disabled apps

* Clear all ephemeral functions at once

* Make cell_by_id differentiate between reasons for cell missing

* Revert app status check and add detailed comment

* Fix test

* Clippy

* Update comment for ListCellIds

* Changelog

* Take `name` out of DnaDefHash (#2099)

* Take `name` out of DnaDefHash

Fixes #2038

* Changelog

* Update tests

* Update crates/holochain_zome_types/CHANGELOG.md

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

---------

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

* refactor(zome-call): optimize cap grant verification (#2097) (#2116)

* refactor(zome-call): cap grant verification

* refactor: simplify cap grant validation flow

* update changelog

* simplify assigned cap access arm

* add PR reference to changelog

* add comment to test

* Apply suggestions from code review



* refactor: use high level db query fn

* replace hardcoded cap access variant by method

---------

Co-authored-by: Michael Dougherty <maackle.d@gmail.com>

* fix(conductor-api): reject duplicate clone cells (#1997)

* add failing test for duplicate clone cell

* reject duplicate dna hash

* add duplicate dna hash error

* specify error and test again after disabling clone

* update changelog

* add test for two agents cloning cells in same conductor

* check for duplicate cell id in conductor state

* OpType -> FlatOp + some reorg (#1909)

* OpType -> FlatOp

* Reorg

* Reorg

* Move flat_op to hdi

* Tightening up OpType/FlatOp logic (#1910)

* Failing test

* Fix test

* WIP big refactor

* Fix all compiler errors

* Add FlatOps for storing cap entries

* Fix private entry type logic

* Test that sort of works

* Test passes

* Changelog

* Removed needless test cases

* Fix some warnings

* More specific error

* Relax test case

* Remove dbg!s and backtraces

* Apply suggestions from code review

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

---------

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

---------

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

* fix typo

* fix conductor tests

* AppManifest `version` becomes `installed_hash` (#2157)

* Make `version` take only a single optional hash

* Rename AppManifest's `version` -> `installed_hash`

* Changelog

* Look up local DNAs before resolving via Location

* Include AppManifest in AppInfo (#2156)

* Return manifest with AppInfo and rewrite legacy app install

* Clippy

* update source 'nixpkgs' on branch 'develop' (#2158)

[create-pull-request] automated change

Co-authored-by: steveeJ <steveeJ@users.noreply.github.com>

* update source 'rust-overlay' on branch 'develop' (#2159)

[create-pull-request] automated change

Co-authored-by: steveeJ <steveeJ@users.noreply.github.com>

* fix(release-automation): consider dependency state of all matched crates (#2160)

fix(release-automation): consider dependency state of all matched crates (#2149)

* fix(release-automation): consider dependency state of all matched crates

the change filter could lead to dependency changes not
including the changed dependency in the release, if the selected crate
itself didn't have any changed.

the blocked filter was removed because it adds unnecessary obfuscation.

* chore(release-automation): remove duplicate test

* test(relase-automation): cover the fixed case

* chore: add FIXME comment for a bug in the dependencies_in_workspace_filter function

* test(release-automation): extend dependency bump test to cover the transitive case

* refactor(release-automation/crate_selection): clarify transitive change detection

* update source 'nixpkgs' on branch 'develop' (#2161)

[create-pull-request] automated change

Co-authored-by: steveeJ <steveeJ@users.noreply.github.com>

* Test that manifest includes most recent modifiers

* Investigating BadChecksum

* Update from_raw_32 to only allow 32

* Use 32 byte hash for a test where it matters

* Fix fixturator

* Fix one more test

---------

Co-authored-by: Holochain Release Automation <100725712+holochain-release-automation2@users.noreply.github.com>
Co-authored-by: steveeJ <steveeJ@users.noreply.github.com>
Co-authored-by: Stefan Junker <1181362+steveeJ@users.noreply.github.com>

---------

Co-authored-by: Holochain Release Automation <100725712+holochain-release-automation2@users.noreply.github.com>
Co-authored-by: steveeJ <steveeJ@users.noreply.github.com>
Co-authored-by: Stefan Junker <1181362+steveeJ@users.noreply.github.com>

* Add backward compat test and fix existing manifest serde test

* Rename to `_version`

* Fix visibility

* Fix bad backport

* Tests that network seed always affects dna hash (#2102)

* Take `name` out of DnaDefHash

Fixes #2038

* Changelog

* Write passing test for reported bug #2039

* Add tests for paths -- still passes

* Extremely comprehensive test of network seed and location: still passes!

* Even more comprehensive test: still passes!

* Small fries, wip

* Added more cases; still passes

* Better debug

* Add regression test and fix the problem

* Changelog

* Update crates/holochain/src/conductor/tests/install_app_bundle.rs

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

---------

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>

* Fix test

* Improve HoloHash::from_raw_32 and use it (#2162)

* Update from_raw_32 to only allow 32

* Use 32 byte hash for a test where it matters

* Fix fixturator

* Fix one more test

* Fix test

---------

Co-authored-by: Jost Schulte <jost.schulte@protonmail.com>
Co-authored-by: Holochain Release Automation <100725712+holochain-release-automation2@users.noreply.github.com>
Co-authored-by: steveeJ <steveeJ@users.noreply.github.com>
Co-authored-by: Stefan Junker <1181362+steveeJ@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] Network seed is not changing the DNA hash when source is AppBundleSource::Bundle(AppBundle)
4 participants