diff --git a/.github/workflows/compfuzzci_fuzz_no_forks.yaml b/.github/workflows/compfuzzci_fuzz.yaml
similarity index 58%
rename from .github/workflows/compfuzzci_fuzz_no_forks.yaml
rename to .github/workflows/compfuzzci_fuzz.yaml
index ee41745889c..720f6a02a76 100644
--- a/.github/workflows/compfuzzci_fuzz_no_forks.yaml
+++ b/.github/workflows/compfuzzci_fuzz.yaml
@@ -1,15 +1,19 @@
# This workflow is triggered on PR being opened, synced, reopened, closed.
# It dispatches workflow on CompFuzzCI repository, where fuzzing of the PR is handled.
+# For problems or suggestions, contact karnbongkot.boonriong23@imperial.ac.uk
-name: Fuzzing on PR (excluding forks)
+name: Fuzzing on PR
on:
- pull_request:
+ pull_request_target:
branches:
- master
jobs:
FuzzOnPR:
- if: github.event.pull_request.base.ref == 'master' && github.event.pull_request.head.repo.owner.login == 'dafny-lang'
+ if: github.event.pull_request.base.ref == 'master' &&
+ (github.event.pull_request.author_association == 'COLLABORATOR' ||
+ github.event.pull_request.author_association == 'MEMBER' ||
+ github.event.pull_request.author_association == 'OWNER')
runs-on: ubuntu-latest
steps:
- name: Trigger CompFuzzCI
@@ -23,9 +27,10 @@ jobs:
workflow_id: 'fuzz.yaml',
ref: 'main',
inputs: {
- commit: '${{ github.event.pull_request.head.sha }}',
- main_commit: '${{github.event.pull_request.base.sha}}',
+ pr: '${{github.event.pull_request.number}}',
+ author: '${{github.event.pull_request.user.login}}',
branch: '${{github.event.pull_request.head.ref}}',
+ head_sha: '${{github.event.pull_request.head.sha}}',
duration: '3600',
instance: '2'
}
diff --git a/Source/DafnyCore/DafnyCore.csproj b/Source/DafnyCore/DafnyCore.csproj
index 5899a78c19a..73318352a5e 100644
--- a/Source/DafnyCore/DafnyCore.csproj
+++ b/Source/DafnyCore/DafnyCore.csproj
@@ -34,7 +34,7 @@
-
+
diff --git a/Source/DafnyCore/Verifier/BoogieGenerator.cs b/Source/DafnyCore/Verifier/BoogieGenerator.cs
index 73ab3e93041..e37dd4bac8a 100644
--- a/Source/DafnyCore/Verifier/BoogieGenerator.cs
+++ b/Source/DafnyCore/Verifier/BoogieGenerator.cs
@@ -85,6 +85,9 @@ public BoogieGenerator(ErrorReporter reporter, ProofDependencyManager depManager
Bpl.Program boogieProgram = ReadPrelude();
if (boogieProgram != null) {
sink = boogieProgram;
+ foreach (var function in boogieProgram.TopLevelDeclarations.OfType()) {
+ function.AlwaysRevealed = true;
+ }
predef = FindPredefinedDecls(boogieProgram);
}
}
diff --git a/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy b/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy
index b22a059f208..8233d2f066e 100644
--- a/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy
+++ b/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy
@@ -84,4 +84,22 @@ method ReadsClause() {
reveal Obj;
}
}
+}
+
+module M1 {
+ ghost function RecFunc(x: nat): nat {
+ if x == 0 then 0
+ else 1 + RecFunc(x - 1)
+ }
+}
+module M2 {
+ import opened M1
+ lemma Lemma(x: nat)
+ ensures RecFunc(0) == 0
+ {
+ // Because RecFunc is recursive, it uses the fuel related $LS function,
+ // this was previously hidden by 'hide *', so that the ensures could not be proven
+ hide *;
+ reveal RecFunc;
+ }
}
\ No newline at end of file
diff --git a/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy.expect b/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy.expect
index fdb082cac82..875e3bafe09 100644
--- a/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy.expect
+++ b/Source/IntegrationTests/TestFiles/LitTests/LitTest/ast/reveal/revealFunctions.dfy.expect
@@ -2,4 +2,4 @@ revealFunctions.dfy(15,12): Error: assertion might not hold
revealFunctions.dfy(22,12): Error: assertion might not hold
revealFunctions.dfy(49,21): Error: assertion might not hold
-Dafny program verifier finished with 15 verified, 3 errors
+Dafny program verifier finished with 22 verified, 3 errors
diff --git a/customBoogie.patch b/customBoogie.patch
index c9ea056313d..7763dd9801c 100644
--- a/customBoogie.patch
+++ b/customBoogie.patch
@@ -61,7 +61,7 @@ index 4a8b2f89b..a308be9bf 100644
--
+-
+
+
+
diff --git a/dotnet-tools.json b/dotnet-tools.json
index 799afea8de8..3c54d779830 100644
--- a/dotnet-tools.json
+++ b/dotnet-tools.json
@@ -9,7 +9,7 @@
]
},
"boogie": {
- "version": "3.1.3",
+ "version": "3.2.5",
"commands": [
"boogie"
]