Kekun commented on code in PR #1994:
URL: https://github.com/apache/buildstream/pull/1994#discussion_r2041622983


##########
tests/frontend/show_artifact_cas_digest.py:
##########
@@ -0,0 +1,129 @@
+#
+#  Licensed under the Apache License, Version 2.0 (the "License");
+#  you may not use this file except in compliance with the License.
+#  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+
+# Pylint doesn't play well with fixtures and dependency injection from pytest
+# pylint: disable=redefined-outer-name
+
+import os
+import shutil
+
+import pytest
+
+from buildstream._testing import cli  # pylint: disable=unused-import
+from buildstream.exceptions import ErrorDomain
+
+from tests.testutils import (
+    create_artifact_share,
+    assert_shared,
+    assert_not_shared,
+)
+
+
+DATA_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), 
"show_artifact_cas_digest_project")
+
+# This tests that cache keys behave as expected when
+# dependencies have been specified as `strict` and
+# when building in strict mode.
+#
+# This test will:
+#
+#  * Build the target once (and assert that it is cached)
+#  * Modify some local files which are imported
+#    by an import element which the target depends on
+#  * Assert that the cached state of the target element
+#    is as expected
+#
+# We run the test twice, once with an element which strict
+# depends on the changing import element, and one which
+# depends on it regularly.
+#
[email protected](DATA_DIR)
[email protected](
+    "target, expected_digests",
+    [
+        ("import-basic-files.bst", {
+            "import-basic-files.bst": 
"7093d3c89029932ce1518bd2192e1d3cf60fd88e356b39195d10b87b598c78f0/168",
+        }),
+        ("import-executable-files.bst", {
+            "import-executable-files.bst": 
"133a9ae2eda30945a363272ac14bb2c8a941770b5a37c2847c99934f2972ce4f/170",
+        }),
+        ("import-symlinks.bst", {
+            "import-symlinks.bst": 
"95947ea55021e26cec4fd4f9de90d2b7f4f7d803ccc91656b3e1f2c9923ddf19/131",
+        }),
+    ],
+)
+def test_show_artifact_cas_digest(cli, tmpdir, datafiles, target, 
expected_digests):

Review Comment:
   Yeah I considered splitting it up too, but I don't know how to test that an 
element exists in the remote cache but hasn't been built locally without first 
pushing it and removing it locally, which isn't a really good way to test it in 
the first place anyway…



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to