fal 1.7.3__tar.gz → 1.7.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fal might be problematic. Click here for more details.

Files changed (171) hide show
  1. {fal-1.7.3/fal.egg-info → fal-1.7.5}/PKG-INFO +1 -1
  2. {fal-1.7.3 → fal-1.7.5/fal.egg-info}/PKG-INFO +1 -1
  3. {fal-1.7.3 → fal-1.7.5}/src/fal/_fal_version.py +2 -2
  4. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/utils/download_utils.py +15 -2
  5. {fal-1.7.3 → fal-1.7.5}/tests/integration_test.py +22 -6
  6. {fal-1.7.3 → fal-1.7.5}/.gitignore +0 -0
  7. {fal-1.7.3 → fal-1.7.5}/Makefile +0 -0
  8. {fal-1.7.3 → fal-1.7.5}/README.md +0 -0
  9. {fal-1.7.3 → fal-1.7.5}/docs/conf.py +0 -0
  10. {fal-1.7.3 → fal-1.7.5}/docs/index.rst +0 -0
  11. {fal-1.7.3 → fal-1.7.5}/fal.egg-info/SOURCES.txt +0 -0
  12. {fal-1.7.3 → fal-1.7.5}/fal.egg-info/dependency_links.txt +0 -0
  13. {fal-1.7.3 → fal-1.7.5}/fal.egg-info/entry_points.txt +0 -0
  14. {fal-1.7.3 → fal-1.7.5}/fal.egg-info/requires.txt +0 -0
  15. {fal-1.7.3 → fal-1.7.5}/fal.egg-info/top_level.txt +0 -0
  16. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/README.md +0 -0
  17. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/__init__.py +0 -0
  18. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/__init__.py +0 -0
  19. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/applications/__init__.py +0 -0
  20. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/applications/app_metadata.py +0 -0
  21. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/billing/__init__.py +0 -0
  22. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/billing/get_user_details.py +0 -0
  23. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/comfy/__init__.py +0 -0
  24. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/comfy/create_workflow.py +0 -0
  25. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/comfy/delete_workflow.py +0 -0
  26. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/comfy/get_workflow.py +0 -0
  27. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/comfy/list_user_workflows.py +0 -0
  28. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/comfy/update_workflow.py +0 -0
  29. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/files/__init__.py +0 -0
  30. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/files/check_dir_hash.py +0 -0
  31. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/files/upload_local_file.py +0 -0
  32. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/users/__init__.py +0 -0
  33. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/users/get_current_user.py +0 -0
  34. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/workflows/__init__.py +0 -0
  35. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/workflows/create_workflow.py +0 -0
  36. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/workflows/delete_workflow.py +0 -0
  37. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/workflows/get_workflow.py +0 -0
  38. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/workflows/list_user_workflows.py +0 -0
  39. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/api/workflows/update_workflow.py +0 -0
  40. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/client.py +0 -0
  41. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/errors.py +0 -0
  42. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/__init__.py +0 -0
  43. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/app_metadata_response_app_metadata.py +0 -0
  44. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/body_upload_local_file.py +0 -0
  45. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_detail.py +0 -0
  46. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_item.py +0 -0
  47. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema.py +0 -0
  48. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_extra_data.py +0 -0
  49. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs.py +0 -0
  50. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_fal_inputs_dev_info.py +0 -0
  51. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/comfy_workflow_schema_prompt.py +0 -0
  52. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/current_user.py +0 -0
  53. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/customer_details.py +0 -0
  54. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/hash_check.py +0 -0
  55. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/http_validation_error.py +0 -0
  56. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/lock_reason.py +0 -0
  57. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/page_comfy_workflow_item.py +0 -0
  58. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/page_workflow_item.py +0 -0
  59. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/team_role.py +0 -0
  60. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow.py +0 -0
  61. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/typed_comfy_workflow_update.py +0 -0
  62. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow.py +0 -0
  63. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/typed_workflow_update.py +0 -0
  64. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/user_member.py +0 -0
  65. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/validation_error.py +0 -0
  66. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents.py +0 -0
  67. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_metadata.py +0 -0
  68. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_nodes.py +0 -0
  69. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_contents_output.py +0 -0
  70. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail.py +0 -0
  71. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_detail_contents.py +0 -0
  72. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_item.py +0 -0
  73. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_node.py +0 -0
  74. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_node_type.py +0 -0
  75. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema.py +0 -0
  76. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_input.py +0 -0
  77. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/models/workflow_schema_output.py +0 -0
  78. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/py.typed +0 -0
  79. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/openapi_fal_rest/types.py +0 -0
  80. {fal-1.7.3 → fal-1.7.5}/openapi-fal-rest/pyproject.toml +0 -0
  81. {fal-1.7.3 → fal-1.7.5}/openapi_rest.config.yaml +0 -0
  82. {fal-1.7.3 → fal-1.7.5}/pyproject.toml +0 -0
  83. {fal-1.7.3 → fal-1.7.5}/setup.cfg +0 -0
  84. {fal-1.7.3 → fal-1.7.5}/src/fal/__init__.py +0 -0
  85. {fal-1.7.3 → fal-1.7.5}/src/fal/__main__.py +0 -0
  86. {fal-1.7.3 → fal-1.7.5}/src/fal/_serialization.py +0 -0
  87. {fal-1.7.3 → fal-1.7.5}/src/fal/_version.py +0 -0
  88. {fal-1.7.3 → fal-1.7.5}/src/fal/api.py +0 -0
  89. {fal-1.7.3 → fal-1.7.5}/src/fal/app.py +0 -0
  90. {fal-1.7.3 → fal-1.7.5}/src/fal/apps.py +0 -0
  91. {fal-1.7.3 → fal-1.7.5}/src/fal/auth/__init__.py +0 -0
  92. {fal-1.7.3 → fal-1.7.5}/src/fal/auth/auth0.py +0 -0
  93. {fal-1.7.3 → fal-1.7.5}/src/fal/auth/local.py +0 -0
  94. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/__init__.py +0 -0
  95. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/_utils.py +0 -0
  96. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/apps.py +0 -0
  97. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/auth.py +0 -0
  98. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/create.py +0 -0
  99. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/debug.py +0 -0
  100. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/deploy.py +0 -0
  101. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/doctor.py +0 -0
  102. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/keys.py +0 -0
  103. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/main.py +0 -0
  104. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/parser.py +0 -0
  105. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/run.py +0 -0
  106. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/runners.py +0 -0
  107. {fal-1.7.3 → fal-1.7.5}/src/fal/cli/secrets.py +0 -0
  108. {fal-1.7.3 → fal-1.7.5}/src/fal/config.py +0 -0
  109. {fal-1.7.3 → fal-1.7.5}/src/fal/console/__init__.py +0 -0
  110. {fal-1.7.3 → fal-1.7.5}/src/fal/console/icons.py +0 -0
  111. {fal-1.7.3 → fal-1.7.5}/src/fal/console/ux.py +0 -0
  112. {fal-1.7.3 → fal-1.7.5}/src/fal/container.py +0 -0
  113. {fal-1.7.3 → fal-1.7.5}/src/fal/exceptions/__init__.py +0 -0
  114. {fal-1.7.3 → fal-1.7.5}/src/fal/exceptions/_base.py +0 -0
  115. {fal-1.7.3 → fal-1.7.5}/src/fal/exceptions/_cuda.py +0 -0
  116. {fal-1.7.3 → fal-1.7.5}/src/fal/exceptions/auth.py +0 -0
  117. {fal-1.7.3 → fal-1.7.5}/src/fal/files.py +0 -0
  118. {fal-1.7.3 → fal-1.7.5}/src/fal/flags.py +0 -0
  119. {fal-1.7.3 → fal-1.7.5}/src/fal/logging/__init__.py +0 -0
  120. {fal-1.7.3 → fal-1.7.5}/src/fal/logging/isolate.py +0 -0
  121. {fal-1.7.3 → fal-1.7.5}/src/fal/logging/style.py +0 -0
  122. {fal-1.7.3 → fal-1.7.5}/src/fal/logging/trace.py +0 -0
  123. {fal-1.7.3 → fal-1.7.5}/src/fal/logging/user.py +0 -0
  124. {fal-1.7.3 → fal-1.7.5}/src/fal/py.typed +0 -0
  125. {fal-1.7.3 → fal-1.7.5}/src/fal/rest_client.py +0 -0
  126. {fal-1.7.3 → fal-1.7.5}/src/fal/sdk.py +0 -0
  127. {fal-1.7.3 → fal-1.7.5}/src/fal/sync.py +0 -0
  128. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/__init__.py +0 -0
  129. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/exceptions.py +0 -0
  130. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/file/__init__.py +0 -0
  131. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/file/file.py +0 -0
  132. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/file/providers/fal.py +0 -0
  133. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/file/providers/gcp.py +0 -0
  134. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/file/providers/r2.py +0 -0
  135. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/file/providers/s3.py +0 -0
  136. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/file/types.py +0 -0
  137. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/__init__.py +0 -0
  138. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/image.py +0 -0
  139. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/nsfw_filter/__init__.py +0 -0
  140. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/nsfw_filter/env.py +0 -0
  141. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/nsfw_filter/inference.py +0 -0
  142. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/nsfw_filter/model.py +0 -0
  143. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/nsfw_filter/requirements.txt +0 -0
  144. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/image/safety_checker.py +0 -0
  145. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/optimize.py +0 -0
  146. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/types.py +0 -0
  147. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/utils/__init__.py +0 -0
  148. {fal-1.7.3 → fal-1.7.5}/src/fal/toolkit/utils/retry.py +0 -0
  149. {fal-1.7.3 → fal-1.7.5}/src/fal/utils.py +0 -0
  150. {fal-1.7.3 → fal-1.7.5}/src/fal/workflows.py +0 -0
  151. {fal-1.7.3 → fal-1.7.5}/tests/__init__.py +0 -0
  152. {fal-1.7.3 → fal-1.7.5}/tests/assets/cat.png +0 -0
  153. {fal-1.7.3 → fal-1.7.5}/tests/cli/__init__.py +0 -0
  154. {fal-1.7.3 → fal-1.7.5}/tests/cli/test_apps.py +0 -0
  155. {fal-1.7.3 → fal-1.7.5}/tests/cli/test_auth.py +0 -0
  156. {fal-1.7.3 → fal-1.7.5}/tests/cli/test_deploy.py +0 -0
  157. {fal-1.7.3 → fal-1.7.5}/tests/cli/test_keys.py +0 -0
  158. {fal-1.7.3 → fal-1.7.5}/tests/cli/test_run.py +0 -0
  159. {fal-1.7.3 → fal-1.7.5}/tests/cli/test_secrets.py +0 -0
  160. {fal-1.7.3 → fal-1.7.5}/tests/conftest.py +0 -0
  161. {fal-1.7.3 → fal-1.7.5}/tests/mainify_package/__init__.py +0 -0
  162. {fal-1.7.3 → fal-1.7.5}/tests/mainify_package/impl.py +0 -0
  163. {fal-1.7.3 → fal-1.7.5}/tests/mainify_package/utils.py +0 -0
  164. {fal-1.7.3 → fal-1.7.5}/tests/mainify_target.py +0 -0
  165. {fal-1.7.3 → fal-1.7.5}/tests/test_apps.py +0 -0
  166. {fal-1.7.3 → fal-1.7.5}/tests/test_stability.py +0 -0
  167. {fal-1.7.3 → fal-1.7.5}/tests/toolkit/file_test.py +0 -0
  168. {fal-1.7.3 → fal-1.7.5}/tests/toolkit/image_test.py +0 -0
  169. {fal-1.7.3 → fal-1.7.5}/tests/toolkit/test_types.py +0 -0
  170. {fal-1.7.3 → fal-1.7.5}/tests/toolkit/utils/retry.py +0 -0
  171. {fal-1.7.3 → fal-1.7.5}/tools/demo_script.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: fal
3
- Version: 1.7.3
3
+ Version: 1.7.5
4
4
  Summary: fal is an easy-to-use Serverless Python Framework
5
5
  Author: Features & Labels <support@fal.ai>
6
6
  Requires-Python: >=3.8
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: fal
3
- Version: 1.7.3
3
+ Version: 1.7.5
4
4
  Summary: fal is an easy-to-use Serverless Python Framework
5
5
  Author: Features & Labels <support@fal.ai>
6
6
  Requires-Python: >=3.8
@@ -12,5 +12,5 @@ __version__: str
12
12
  __version_tuple__: VERSION_TUPLE
13
13
  version_tuple: VERSION_TUPLE
14
14
 
15
- __version__ = version = '1.7.3'
16
- __version_tuple__ = version_tuple = (1, 7, 3)
15
+ __version__ = version = '1.7.5'
16
+ __version_tuple__ = version_tuple = (1, 7, 5)
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import errno
3
4
  import hashlib
4
5
  import os
5
6
  import shutil
@@ -389,7 +390,11 @@ def clone_repository(
389
390
  A Path object representing the full path to the cloned Git repository.
390
391
  """
391
392
  target_dir = target_dir or FAL_REPOSITORY_DIR # type: ignore[assignment]
392
- repo_name = repo_name or Path(https_url).stem
393
+
394
+ if repo_name is None:
395
+ repo_name = Path(https_url).stem
396
+ if commit_hash:
397
+ repo_name += f"-{commit_hash[:8]}"
393
398
 
394
399
  local_repo_path = Path(target_dir) / repo_name # type: ignore[arg-type]
395
400
 
@@ -440,7 +445,15 @@ def clone_repository(
440
445
 
441
446
  # NOTE: Atomically renaming the repository directory into place when the
442
447
  # clone and checkout are done.
443
- os.rename(temp_dir, local_repo_path)
448
+ try:
449
+ os.rename(temp_dir, local_repo_path)
450
+ except OSError as error:
451
+ shutil.rmtree(temp_dir)
452
+
453
+ # someone beat us to it, assume it's good
454
+ if error.errno != errno.ENOTEMPTY:
455
+ raise
456
+ print(f"{local_repo_path} already exists, skipping rename")
444
457
 
445
458
  except Exception as error:
446
459
  print(f"{error}\nFailed to clone repository '{https_url}' .")
@@ -355,6 +355,12 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
355
355
  EXAMPLE_REPO_FIRST_COMMIT = "64b0a89c8391bd2cb3ca23cdeae01779e11aee05"
356
356
  EXAMPLE_REPO_SECOND_COMMIT = "34ecbca8cc7b64719d2a5c40dd3272f8d13bc1d2"
357
357
  expected_path = FAL_REPOSITORY_DIR / "isolate"
358
+ first_expected_path = (
359
+ FAL_REPOSITORY_DIR / f"isolate-{EXAMPLE_REPO_FIRST_COMMIT[:8]}"
360
+ )
361
+ second_expected_path = (
362
+ FAL_REPOSITORY_DIR / f"isolate-{EXAMPLE_REPO_SECOND_COMMIT[:8]}"
363
+ )
358
364
 
359
365
  @isolated_client()
360
366
  def clone_without_commit_hash():
@@ -376,7 +382,7 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
376
382
  EXAMPLE_REPO_URL, commit_hash=EXAMPLE_REPO_SECOND_COMMIT
377
383
  )
378
384
 
379
- second_repo_hash = _get_git_revision_hash(repo_path)
385
+ second_repo_hash = _get_git_revision_hash(second_path)
380
386
 
381
387
  return first_path, first_repo_hash, second_path, second_repo_hash
382
388
 
@@ -387,8 +393,12 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
387
393
  second_repo_hash,
388
394
  ) = clone_with_commit_hash()
389
395
 
390
- assert str(expected_path) == str(first_path), "Path should be the target location"
391
- assert str(expected_path) == str(second_path), "Path should be the target location"
396
+ assert str(first_expected_path) == str(
397
+ first_path
398
+ ), "Path should be the target location"
399
+ assert str(second_expected_path) == str(
400
+ second_path
401
+ ), "Path should be the target location"
392
402
 
393
403
  assert (
394
404
  first_repo_hash == EXAMPLE_REPO_FIRST_COMMIT
@@ -432,9 +442,15 @@ def test_clone_repository(isolated_client, mock_fal_persistent_dirs):
432
442
  third_repo_stat,
433
443
  ) = clone_with_force()
434
444
 
435
- assert str(expected_path) == str(first_path), "Path should be the target location"
436
- assert str(expected_path) == str(second_path), "Path should be the target location"
437
- assert str(expected_path) == str(third_path), "Path should be the target location"
445
+ assert str(first_expected_path) == str(
446
+ first_path
447
+ ), "Path should be the target location"
448
+ assert str(first_expected_path) == str(
449
+ second_path
450
+ ), "Path should be the target location"
451
+ assert str(first_expected_path) == str(
452
+ third_path
453
+ ), "Path should be the target location"
438
454
 
439
455
  assert (
440
456
  first_repo_stat.st_mtime == second_repo_stat.st_mtime
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes