certora-cli-alpha-master 20250704.23.38.795583__py3-none-macosx_10_9_universal2.whl → 20250708.0.17.532380__py3-none-macosx_10_9_universal2.whl

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.
@@ -723,7 +723,7 @@ class MutateApp:
723
723
  def __init__(self, args_list: List[str]) -> None:
724
724
  self.mutation_test_id = ''
725
725
  self.numb_of_jobs: int = 0
726
- self.backup_paths: List[Path] = []
726
+ self.backup_path: Optional[Path] = None
727
727
  self.sources_dir: Optional[Path] = None
728
728
  self.with_split_stats_data = False
729
729
  self.manual_mutants_list: List[Mutant] = list()
@@ -882,9 +882,9 @@ class MutateApp:
882
882
  " verification results. Please remove or replace the mutation")
883
883
 
884
884
  def restore_backups(self) -> None:
885
- for backup_path in self.backup_paths:
886
- Util.restore_backup(backup_path)
887
- self.backup_paths = []
885
+ if self.backup_path:
886
+ Util.restore_backup(self.backup_path)
887
+ self.backup_path = None
888
888
 
889
889
  def submit_soroban(self) -> None:
890
890
 
@@ -931,12 +931,14 @@ class MutateApp:
931
931
  # run mutants
932
932
  mutant_runs = []
933
933
  try:
934
- self.backup_paths = []
935
934
  for mutant in all_mutants:
936
935
  # call certoraRun for each mutant we found
937
936
  mutant_runs.append(self.run_mutant_soroban(mutant))
937
+ self.restore_backups()
938
938
  finally:
939
- self.restore_backups()
939
+ if self.backup_path:
940
+ mutation_logger.warning("Not empty backup path")
941
+ self.restore_backups()
940
942
 
941
943
  # wrap it all up and make the input for the 2nd step: the collector
942
944
  assert self.collect_file, "submit_soroban: no collect_file"
@@ -1144,10 +1146,11 @@ class MutateApp:
1144
1146
  def run_mutant_soroban(self, mutant: Mutant) -> MutantJob:
1145
1147
  file_to_mutate = Path(mutant.original_filename)
1146
1148
  # create a backup copy (if needed) by adding '.backup' to the end of the file
1147
- if Util.get_backup_path(file_to_mutate) not in self.backup_paths:
1148
- backup_file = Util.create_backup(file_to_mutate)
1149
- assert backup_file, f"run_mutant_soroban: create_backup for {file_to_mutate} failed"
1150
- self.backup_paths.append(backup_file)
1149
+ if self.backup_path and Util.get_backup_path(file_to_mutate) != self.backup_path:
1150
+ raise Util.ImplementationError("backup_path is set but does not match the file to mutate")
1151
+ if not self.backup_path:
1152
+ self.backup_path = Util.create_backup(file_to_mutate)
1153
+ assert self.backup_path, f"run_mutant_soroban: create_backup for {file_to_mutate} failed"
1151
1154
  shutil.copy(mutant.filename, file_to_mutate)
1152
1155
 
1153
1156
  try:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: certora-cli-alpha-master
3
- Version: 20250704.23.38.795583
3
+ Version: 20250708.0.17.532380
4
4
  Summary: Runner for the Certora Prover
5
5
  Home-page: https://pypi.org/project/certora-cli-alpha-master
6
6
  Author: Certora
@@ -38,4 +38,4 @@ Dynamic: requires-dist
38
38
  Dynamic: requires-python
39
39
  Dynamic: summary
40
40
 
41
- Commit 7f21616. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
41
+ Commit 1e8b6a9. Build and Run scripts for executing the Certora Prover on Solidity smart contracts.
@@ -52,7 +52,7 @@ certora_cli/EquivalenceCheck/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
52
52
  certora_cli/EquivalenceCheck/equivCheck.py,sha256=D3TA1DRppaXpEcVW_smqMQzeUle0jPu0wIXXEd5un0U,20620
53
53
  certora_cli/EquivalenceCheck/sanity.spec,sha256=tWmE9z2Sq3_SWaqKDRQaNajRrw94maUrirvoUmX89LE,103
54
54
  certora_cli/Mutate/__init__.py,sha256=QHNr-PJQAoyuPgTkO7gg23GRchiWSXglWNG7yLSQZvs,849
55
- certora_cli/Mutate/mutateApp.py,sha256=94qX2Mnj4sY4F7dsppNV64Fb1RkOGJuqUtVevr17q_4,88043
55
+ certora_cli/Mutate/mutateApp.py,sha256=jcZGd-bk_8UeewCHfUoHF5Ch1NZ-A7wgFBShXFBMZx0,88255
56
56
  certora_cli/Mutate/mutateAttributes.py,sha256=2onGaPmztwmHg5V_X7BUG4HcQCThhqYzGYKBy695Izc,10587
57
57
  certora_cli/Mutate/mutateConstants.py,sha256=LRrz3wMM8WpPYSshkc-PLYqT0nexcWQeBNsehip-LOE,3945
58
58
  certora_cli/Mutate/mutateUtil.py,sha256=B7MCIFtZBetjR4MMxU6F5ikYsaot1wTG7XYMjgVXl4k,2287
@@ -65,12 +65,12 @@ certora_cli/Shared/certoraUtils.py,sha256=3imWdLsEQhpEHCpfERHet_zJLu1aShgf3XQFs8
65
65
  certora_cli/Shared/certoraValidateFuncs.py,sha256=jnXIH7ii2yCH9QZs7nXA9RUJ-r0fSSFmCz-RgY7Hhto,41836
66
66
  certora_cli/Shared/proverCommon.py,sha256=PqkjycZ3TdZr0RNWoPuA_VZ5b7EAAsu9ewymNH6kIm4,11291
67
67
  certora_cli/Shared/rustProverCommon.py,sha256=NIZ5ECbhuiMegyRAl07CV3r68MFG2tBNKgUAQoV4uLI,2049
68
- certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=FjyiF-nY9-ujJrO0L2oDBnqYp0OXkdirOFFlKfmEpqU,170
69
- certora_jars/Typechecker.jar,sha256=I596x9WiIc8OKu0dWK0m7fFxN571ubQKYt8zmdFpGPc,17224009
68
+ certora_jars/CERTORA-CLI-VERSION-METADATA.json,sha256=lw8Ax0NpSH2wVCozkfcDMDxAxvbD_jM7d4gX6NzyZqQ,168
69
+ certora_jars/Typechecker.jar,sha256=3Usp7qpK-JZeBiA4Tz4vnzBRe0TGzguAYXBNGXbOlGk,17224009
70
70
  certora_jars/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
71
- certora_cli_alpha_master-20250704.23.38.795583.dist-info/LICENSE,sha256=UGKSKIJSetF8m906JLKqNLkUS2CL60XfQdNvxBvpQXo,620
72
- certora_cli_alpha_master-20250704.23.38.795583.dist-info/METADATA,sha256=KAjnpIKHlb6XNtCMOHFg8Y4GrLO4NZ8jQgh8xeX26WE,1271
73
- certora_cli_alpha_master-20250704.23.38.795583.dist-info/WHEEL,sha256=9Ig2YBzm5cpS_YWKLeuYxVAxcKv_uDQsCzy9XJbRZ_g,110
74
- certora_cli_alpha_master-20250704.23.38.795583.dist-info/entry_points.txt,sha256=_SQ5_uYOAJXtqEW992nIvq7blW9cWFSUVEdbMGuy--4,443
75
- certora_cli_alpha_master-20250704.23.38.795583.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
76
- certora_cli_alpha_master-20250704.23.38.795583.dist-info/RECORD,,
71
+ certora_cli_alpha_master-20250708.0.17.532380.dist-info/LICENSE,sha256=UGKSKIJSetF8m906JLKqNLkUS2CL60XfQdNvxBvpQXo,620
72
+ certora_cli_alpha_master-20250708.0.17.532380.dist-info/METADATA,sha256=4aMlPGa7yXn8UqeL8WQnr555vG3Jxacr3O_JDXfly_Y,1270
73
+ certora_cli_alpha_master-20250708.0.17.532380.dist-info/WHEEL,sha256=9Ig2YBzm5cpS_YWKLeuYxVAxcKv_uDQsCzy9XJbRZ_g,110
74
+ certora_cli_alpha_master-20250708.0.17.532380.dist-info/entry_points.txt,sha256=_SQ5_uYOAJXtqEW992nIvq7blW9cWFSUVEdbMGuy--4,443
75
+ certora_cli_alpha_master-20250708.0.17.532380.dist-info/top_level.txt,sha256=8C77w3JLanY0-NW45vpJsjRssyCqVP-qmPiN9FjWiX4,38
76
+ certora_cli_alpha_master-20250708.0.17.532380.dist-info/RECORD,,
@@ -1 +1 @@
1
- {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "7f21616", "timestamp": "20250704.23.38.795583", "version": "20250704.23.38.795583+7f21616"}
1
+ {"name": "certora-cli-alpha-master", "tag": "", "branch": "master", "commit": "1e8b6a9", "timestamp": "20250708.0.17.532380", "version": "20250708.0.17.532380+1e8b6a9"}
Binary file